Index: src/ControlStruct/LabelFixer.cc
===================================================================
--- src/ControlStruct/LabelFixer.cc	(revision 70a1c3aed5e5b84a329ddc71a02c60806fd80216)
+++ src/ControlStruct/LabelFixer.cc	(revision bbbc067e84adc59b31d39e97991980bf6379934a)
@@ -50,5 +50,5 @@
 	// prune to at most one label definition for each statement
 	void LabelFixer::previsit( Statement *stmt ) {
-		std::list< Label > &labels = stmt->get_labels();
+		std::vector< Label >  &labels = stmt->get_labels();
 
 		if ( ! labels.empty() ) {
@@ -77,5 +77,5 @@
 	// sets the definition of the labelTable entry to be the provided
 	// statement for every label in the list parameter. Happens for every kind of statement
-	Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) {
+	Label LabelFixer::setLabelsDef( std::vector< Label >  &llabel, Statement *definition ) {
 		assert( definition != 0 );
 		assert( llabel.size() > 0 );
@@ -83,5 +83,5 @@
 		Entry * e = new Entry( definition );
 
-		for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ ) {
+		for ( std::vector< Label > ::iterator i = llabel.begin(); i != llabel.end(); i++ ) {
 			Label & l = *i;
 			l.set_statement( definition ); // attach statement to the label to be used later
Index: src/ControlStruct/LabelFixer.h
===================================================================
--- src/ControlStruct/LabelFixer.h	(revision 70a1c3aed5e5b84a329ddc71a02c60806fd80216)
+++ src/ControlStruct/LabelFixer.h	(revision bbbc067e84adc59b31d39e97991980bf6379934a)
@@ -46,5 +46,5 @@
 		void previsit( LabelAddressExpr *addrExpr );
 
-		Label setLabelsDef( std::list< Label > &, Statement *definition );
+		Label setLabelsDef( std::vector< Label >  &, Statement *definition );
 		template< typename UsageNode >
 		void setLabelsUsg( Label, UsageNode *usage = 0 );
Index: src/ControlStruct/MLEMutator.cc
===================================================================
--- src/ControlStruct/MLEMutator.cc	(revision 70a1c3aed5e5b84a329ddc71a02c60806fd80216)
+++ src/ControlStruct/MLEMutator.cc	(revision bbbc067e84adc59b31d39e97991980bf6379934a)
@@ -70,5 +70,5 @@
 			if ( ! get_breakLabel().empty() ) {
 				std::list< Statement * >::iterator next = k+1;
-				std::list<Label> ls; ls.push_back( get_breakLabel() );
+				std::vector< Label >  ls; ls.push_back( get_breakLabel() );
 				kids.insert( next, new NullStmt( ls ) );
 				set_breakLabel("");
@@ -242,5 +242,5 @@
 		if ( e.isContUsed() ) {
 			// continue label goes in the body as the last statement
-			std::list< Label > labels; labels.push_back( e.useContExit() );
+			std::vector< Label >  labels; labels.push_back( e.useContExit() );
 			newBody->get_kids().push_back( new NullStmt( labels ) );
 		} // if
@@ -336,5 +336,5 @@
 				assert( ! enclosingControlStructures.empty() );
 				if ( enclosingControlStructures.back().isFallUsed() ) {
-					std::list<Label> ls{ enclosingControlStructures.back().useFallExit() };
+					std::vector< Label >  ls{ enclosingControlStructures.back().useFallExit() };
 					caseStmt->stmts.push_back( new NullStmt( ls ) );
 				} // if
@@ -346,5 +346,5 @@
 			if ( enclosingControlStructures.back().isFallDefaultUsed() ) {
 				// add fallthrough default label if necessary
-				std::list<Label> ls{ enclosingControlStructures.back().useFallDefaultExit() };
+				std::vector< Label >  ls{ enclosingControlStructures.back().useFallDefaultExit() };
 				caseStmt->stmts.push_front( new NullStmt( ls ) );
 			} // if
