Index: libcfa/src/parseconfig.cfa
===================================================================
--- libcfa/src/parseconfig.cfa	(revision 57dff2f59e7f5676139d9f655aae7e952a6ff812)
+++ libcfa/src/parseconfig.cfa	(revision d322f629eb24aad5a08ecd588629914db25ac6eb)
@@ -9,12 +9,10 @@
 
 
-EHM_VIRTUAL_TABLE(Validation_Failure, Validation_Failure_main_table);
+static vtable(Validation_Failure) Validation_Failure_vt;
+
 void ?{}( Validation_Failure & this, config_entry & entry ) with ( entry ) {
-	this.virtual_table = &Validation_Failure_main_table;
+	this.virtual_table = &Validation_Failure_vt;
 	this.key = key;
 	this.variable = variable;
-}
-void throwValidation_Failure( config_entry & entry ) {
-	Validation_Failure exc = { entry };
 }
 
@@ -122,5 +120,5 @@
 				// Validate the parsed data, if necessary
 				if ( entries[j].validate != (bool (*)(void *))0p ) {
-					if ( !entries[j].validate( entries[j].variable ) ) throwValidation_Failure( entries[j] );
+					if ( !entries[j].validate( entries[j].variable ) ) throw (Validation_Failure){ entries[j] }; // HERE (segfaults on throw)
 				}
 
Index: libcfa/src/parseconfig.hfa
===================================================================
--- libcfa/src/parseconfig.hfa	(revision 57dff2f59e7f5676139d9f655aae7e952a6ff812)
+++ libcfa/src/parseconfig.hfa	(revision d322f629eb24aad5a08ecd588629914db25ac6eb)
@@ -56,8 +56,8 @@
 
 
-EHM_EXCEPTION(Validation_Failure)(
+exception Validation_Failure {
 	const char * key;
 	void * variable;
-);
+};
 
 void ?{}( Validation_Failure & this, config_entry & entry );
