Index: src/Concurrency/Waituntil.cpp
===================================================================
--- src/Concurrency/Waituntil.cpp	(revision ab94c37e5724808772c34d54ef892acf6cdedfb6)
+++ src/Concurrency/Waituntil.cpp	(revision ee8f72dd8b2ecc7a43d3a3fe98dbd7931d8f768e)
@@ -720,5 +720,5 @@
 				                )
 				            ),
-				            new BranchStmt( cLoc, BranchStmt::Kind::Break, Label( cLoc, switchLabel ) )
+				            new BranchStmt( cLoc, BranchStmt::Goto, Label( cLoc, switchLabel ) )
 				        }
 				    )
@@ -733,4 +733,10 @@
 			new NameExpr( loc, idxName ),
 			std::move( switchCases ),
+			{}
+		)
+	);
+
+	ifBody->push_back(
+		new NullStmt( loc,
 			{ Label( loc, switchLabel ) }
 		)
@@ -790,9 +796,12 @@
 				                { new NameExpr( loc, clauseData.at(0)->statusName ) }
 				            ),
-				            new BranchStmt( loc, BranchStmt::Kind::Break, Label( loc, forLabel ) )
+				            new BranchStmt( loc, BranchStmt::Goto, Label( loc, forLabel ) )
 				        ),
 				        ifSwitch
 				    }
 				),   // body
+				{}
+			),
+			new NullStmt( loc,
 				{ Label( loc, forLabel ) }
 			)
