Index: src/Concurrency/Waituntil.cpp
===================================================================
--- src/Concurrency/Waituntil.cpp	(revision ed96731e0151e86950bd43918f4c4873b82f0102)
+++ src/Concurrency/Waituntil.cpp	(revision 9aa8dcc0640d70d933086684559c5b60f6eb7289)
@@ -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 ) }
 			)
