Index: src/Parser/ParseNode.h
===================================================================
--- src/Parser/ParseNode.h	(revision 757ffedbca8572f305ebf63ea1f06ff9dd53bfb8)
+++ src/Parser/ParseNode.h	(revision a92a4fea7f1dd5fff42ca819dc21cc080115a629)
@@ -437,5 +437,5 @@
 WaitForStmt * build_waitfor_timeout( ExpressionNode * timeout, StatementNode * stmt, ExpressionNode * when );
 WaitForStmt * build_waitfor_timeout( ExpressionNode * timeout, StatementNode * stmt, ExpressionNode * when, StatementNode * else_stmt, ExpressionNode * else_when );
-WithStmt * build_with( ExpressionNode * exprs, StatementNode * stmt );
+Statement * build_with( ExpressionNode * exprs, StatementNode * stmt );
 
 //##############################################################################
Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision 757ffedbca8572f305ebf63ea1f06ff9dd53bfb8)
+++ src/Parser/StatementNode.cc	(revision a92a4fea7f1dd5fff42ca819dc21cc080115a629)
@@ -317,9 +317,9 @@
 } // build_waitfor_timeout
 
-WithStmt * build_with( ExpressionNode * exprs, StatementNode * stmt ) {
+Statement * build_with( ExpressionNode * exprs, StatementNode * stmt ) {
 	std::list< Expression * > e;
 	buildMoveList( exprs, e );
 	Statement * s = maybeMoveBuild<Statement>( stmt );
-	return new WithStmt( e, s );
+	return new DeclStmt( new WithStmt( e, s ) );
 } // build_with
 
