Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision 6b224a52e644258a65fc4b1af5b45c5d9c835149)
+++ src/Parser/StatementNode.cc	(revision 2065609d54faba689bd6249eb4c159415fb8bf29)
@@ -212,5 +212,9 @@
 	WaitForStmt::Target target;
 	target.function = maybeBuild<Expression>( targetExpr );
-	buildMoveList< Expression >( targetExpr, target.arguments );
+
+	ExpressionNode * next = dynamic_cast<ExpressionNode *>( targetExpr->get_next() );
+	targetExpr->set_next( nullptr );
+	buildMoveList< Expression >( next, target.arguments );
+
 	delete targetExpr;
 
@@ -226,7 +230,10 @@
 WaitForStmt * build_waitfor( ExpressionNode * targetExpr, StatementNode * stmt, ExpressionNode * when, WaitForStmt * node ) {
 	WaitForStmt::Target target;
-
 	target.function = maybeBuild<Expression>( targetExpr );
-	buildMoveList< Expression >( targetExpr, target.arguments );
+
+	ExpressionNode * next = dynamic_cast<ExpressionNode *>( targetExpr->get_next() );
+	targetExpr->set_next( nullptr );
+	buildMoveList< Expression >( next, target.arguments );
+
 	delete targetExpr;
 
