Index: src/ControlStruct/MultiLevelExit.cpp
===================================================================
--- src/ControlStruct/MultiLevelExit.cpp	(revision 5695645f00ea4722f1b0ce8ce491f494b95c8c55)
+++ src/ControlStruct/MultiLevelExit.cpp	(revision f6737ae19bf4f9053f2ef5f69b96769a3bb2ee18)
@@ -594,4 +594,10 @@
 		}
 
+		// check if loop node and if so add else clause if it exists
+		const WhileDoStmt * whilePtr = dynamic_cast<const WhileDoStmt *>(kid.get());
+		if ( whilePtr && whilePtr->else_) ret.push_back(whilePtr->else_);
+		const ForStmt * forPtr = dynamic_cast<const ForStmt *>(kid.get());
+		if ( forPtr && forPtr->else_) ret.push_back(forPtr->else_);
+
 		if ( ! break_label.empty() ) {
 			ret.push_back( labelledNullStmt( ret.back()->location, break_label ) );
