Index: src/Parser/StatementNode.cc
===================================================================
--- src/Parser/StatementNode.cc	(revision 661117761e1e429d1007ea57fa382fed68089100)
+++ src/Parser/StatementNode.cc	(revision 5541a44e408478e994f615c1c49cd87dd3547d96)
@@ -141,13 +141,6 @@
 	ast::Expr * astcond = build_if_control( ctl, astinit ); // ctl deleted, cond/init set
 
-	std::vector<ast::ptr<ast::Stmt>> aststmt;
-	buildMoveList( then, aststmt );
-	assert( aststmt.size() == 1 );
-	ast::Stmt const * astthen = aststmt.front().release();
-
-	ast::Stmt const * astelse = nullptr;
-	if ( else_ ) {
-		astelse = buildMoveSingle( else_ );
-	} // if
+	ast::Stmt const * astthen = buildMoveSingle( then );
+	ast::Stmt const * astelse = buildMoveOptional( else_ );
 
 	return new ast::IfStmt( location, astcond, astthen, astelse,
