Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision 1dcd955480c332b81ce157f2b7ccf8e34ad2acd3)
+++ src/Parser/StatementNode.cc	(revision e149f77d332b3ccb4f2dc3c40b4f03808877e80c)
@@ -250,5 +250,5 @@
 	delete targetExpr;
 
-	node->clauses.push_back( WaitForStmt::Clause{
+	node->clauses.insert( node->clauses.begin(), WaitForStmt::Clause{
 		std::move( target ),
 		maybeMoveBuild<Statement >( stmt ),
Index: src/Parser/parserutility.cc
===================================================================
--- src/Parser/parserutility.cc	(revision 1dcd955480c332b81ce157f2b7ccf8e34ad2acd3)
+++ src/Parser/parserutility.cc	(revision e149f77d332b3ccb4f2dc3c40b4f03808877e80c)
@@ -29,4 +29,5 @@
 
 Expression *notZeroExpr( Expression *orig ) {
+	if( !orig ) return nullptr;
 	UntypedExpr *comparison = new UntypedExpr( new NameExpr( "?!=?" ) );
 	comparison->get_args().push_back( orig );
