Index: src/InitTweak/FixInit.cc
===================================================================
--- src/InitTweak/FixInit.cc	(revision 10e90cbfae38eadd2a8280da88fb0696174ffdda)
+++ src/InitTweak/FixInit.cc	(revision e4d829bf54d5191b9e826c8c7fc40b7c7c7bc768)
@@ -726,5 +726,5 @@
 						// static bool __objName_uninitialized = true
 						BasicType * boolType = new BasicType( Type::Qualifiers(), BasicType::Bool );
-						SingleInit * boolInitExpr = new SingleInit( new ConstantExpr( Constant( boolType->clone(), "1" ) ), noDesignators );
+						SingleInit * boolInitExpr = new SingleInit( new ConstantExpr( Constant( boolType->clone(), "1" ) ) );
 						ObjectDecl * isUninitializedVar = new ObjectDecl( objDecl->get_mangleName() + "_uninitialized", Type::StorageClasses( Type::Static ), LinkageSpec::Cforall, 0, boolType, boolInitExpr );
 						isUninitializedVar->fixUniqueId();
Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision 10e90cbfae38eadd2a8280da88fb0696174ffdda)
+++ src/InitTweak/InitTweak.cc	(revision e4d829bf54d5191b9e826c8c7fc40b7c7c7bc768)
@@ -14,11 +14,8 @@
 		public:
 			bool hasDesignations = false;
-			template<typename Init>
-			void handleInit( Init * init ) {
-				if ( ! init->get_designators().empty() ) hasDesignations = true;
-				else Visitor::visit( init );
-			}
-			virtual void visit( SingleInit * singleInit ) { handleInit( singleInit); }
-			virtual void visit( ListInit * listInit ) { handleInit( listInit); }
+			virtual void visit( Designation * des ) {
+				if ( ! des->get_designators().empty() ) hasDesignations = true;
+				else Visitor::visit( des );
+			}
 		};
 
