diff --git a/cmd/tools/vvet/tests/accept_multi_expression_with_comments.out b/cmd/tools/vvet/tests/accept_multi_expression_with_comments.out
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/cmd/tools/vvet/tests/accept_multi_expression_with_comments.vv b/cmd/tools/vvet/tests/accept_multi_expression_with_comments.vv
new file mode 100644
index 0000000000..4cc7175e98
--- /dev/null
+++ b/cmd/tools/vvet/tests/accept_multi_expression_with_comments.vv
@@ -0,0 +1,7 @@
+fn abc() int {
+	return if true {
+		0x4000 // 16KB
+	} else {
+		0x1000 // 4KB
+	}
+}
diff --git a/vlib/v/parser/parser.v b/vlib/v/parser/parser.v
index 210096d8a9..ac07635eaf 100644
--- a/vlib/v/parser/parser.v
+++ b/vlib/v/parser/parser.v
@@ -1977,7 +1977,7 @@ fn (mut p Parser) parse_multi_expr(is_top_level bool) ast.Stmt {
 	// TODO remove translated
 	if p.tok.kind in [.assign, .decl_assign] || p.tok.kind.is_assign() {
 		return p.partial_assign_stmt(left, left_comments)
-	} else if !p.pref.translated && !p.is_translated && !p.pref.is_fmt
+	} else if !p.pref.translated && !p.is_translated && !p.pref.is_fmt && !p.pref.is_vet
 		&& tok.kind !in [.key_if, .key_match, .key_lock, .key_rlock, .key_select] {
 		for node in left {
 			if (is_top_level || p.tok.kind != .rcbr) && node !is ast.CallExpr