Index: src/CodeGen/GenType.cc
===================================================================
--- src/CodeGen/GenType.cc	(revision 3e5439987bdaca8e3f69edabd5a99bb0e41316b1)
+++ src/CodeGen/GenType.cc	(revision f238fcc2eafd0e0a792e3db3f23ab47e63d45c2b)
@@ -253,6 +253,14 @@
 
 	void GenType::postvisit( EnumInstType * enumInst ) {
-		typeString = enumInst->name + " " + typeString;
-		if ( options.genC ) typeString = "enum " + typeString;
+		if ( enumInst->baseEnum->base 
+		&& dynamic_cast<BasicType *>(enumInst->baseEnum->base)
+		&& dynamic_cast<BasicType *>(enumInst->baseEnum->base)->kind != BasicType::Kind::SignedInt) {
+			typeString = genType(enumInst->baseEnum->base, "", options) + typeString;
+		} else {
+			typeString = enumInst->name + " " + typeString;
+			if ( options.genC ) {
+				typeString = "enum " + typeString;
+			} 
+		} 
 		handleQualifiers( enumInst );
 	}
