Index: src/InitTweak/FixInit.cc
===================================================================
--- src/InitTweak/FixInit.cc	(revision d24d4e166c6a6516f309efbac59c59da18c7169f)
+++ src/InitTweak/FixInit.cc	(revision 579263a52ab065d42a5208e15e3d707dd0d03798)
@@ -724,5 +724,5 @@
 						// static bool __objName_uninitialized = true
 						BasicType * boolType = new BasicType( Type::Qualifiers(), BasicType::Bool );
-						SingleInit * boolInitExpr = new SingleInit( new ConstantExpr( Constant::from_int( 1 ) ), noDesignators );
+						SingleInit * boolInitExpr = new SingleInit( new ConstantExpr( Constant::from_int( 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 d24d4e166c6a6516f309efbac59c59da18c7169f)
+++ src/InitTweak/InitTweak.cc	(revision 579263a52ab065d42a5208e15e3d707dd0d03798)
@@ -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 );
+			}
 		};
 
