Index: src/SymTab/Indexer.cc
===================================================================
--- src/SymTab/Indexer.cc	(revision bbf3fdad94d81a92cc995074c21218db29cd0fbe)
+++ src/SymTab/Indexer.cc	(revision 9d5fb67025ec52a84362a28c45f4506dd325a92c)
@@ -501,7 +501,7 @@
 
 	bool addedDeclConflicts( AggregateDecl *existing, AggregateDecl *added ) {
-		if ( existing->get_members().empty() ) {
+		if ( ! existing->body ) {
 			return false;
-		} else if ( ! added->get_members().empty() ) {
+		} else if ( added->body ) {
 			SemanticError( added, "redeclaration of " );
 		} // if
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision bbf3fdad94d81a92cc995074c21218db29cd0fbe)
+++ src/SymTab/Validate.cc	(revision 9d5fb67025ec52a84362a28c45f4506dd325a92c)
@@ -316,5 +316,5 @@
 
 	void HoistStruct::previsit( EnumInstType * inst ) {
-		if ( inst->baseEnum ) {
+		if ( inst->baseEnum && inst->baseEnum->body ) {
 			declsToAddBefore.push_front( inst->baseEnum );
 		}
@@ -322,5 +322,5 @@
 
 	void HoistStruct::previsit( StructInstType * inst ) {
-		if ( inst->baseStruct ) {
+		if ( inst->baseStruct && inst->baseStruct->body ) {
 			declsToAddBefore.push_front( inst->baseStruct );
 		}
@@ -328,5 +328,5 @@
 
 	void HoistStruct::previsit( UnionInstType * inst ) {
-		if ( inst->baseUnion ) {
+		if ( inst->baseUnion && inst->baseUnion->body ) {
 			declsToAddBefore.push_front( inst->baseUnion );
 		}
