diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index a18e3f2..0139696 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1849,6 +1849,28 @@
     concat ..= str
   endfor
   assert_equal('onetwo', concat)
+
+  var total = 0
+  for nr in
+      [1, 2, 3]
+    total += nr
+  endfor
+  assert_equal(6, total)
+
+  total = 0
+  for nr
+    in [1, 2, 3]
+    total += nr
+  endfor
+  assert_equal(6, total)
+
+  total = 0
+  for nr
+    in
+    [1, 2, 3]
+    total += nr
+  endfor
+  assert_equal(6, total)
 enddef
 
 def Test_for_loop_fails()
diff --git a/src/version.c b/src/version.c
index 2eb5de5..3a20581 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2079,
+/**/
     2078,
 /**/
     2077,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 7712c00..07a22da 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -6486,6 +6486,7 @@
     char_u	*arg_end;
     char_u	*name = NULL;
     char_u	*p;
+    char_u	*wp;
     int		var_count = 0;
     int		semicolon = FALSE;
     size_t	varlen;
@@ -6503,13 +6504,19 @@
 	var_count = 1;
 
     // consume "in"
+    wp = p;
     p = skipwhite(p);
-    if (STRNCMP(p, "in", 2) != 0 || !VIM_ISWHITE(p[2]))
+    if (may_get_next_line_error(wp, &p, cctx) == FAIL)
+	return NULL;
+    if (STRNCMP(p, "in", 2) != 0 || !IS_WHITE_OR_NUL(p[2]))
     {
 	emsg(_(e_missing_in));
 	return NULL;
     }
-    p = skipwhite(p + 2);
+    wp = p + 2;
+    p = skipwhite(wp);
+    if (may_get_next_line_error(wp, &p, cctx) == FAIL)
+	return NULL;
 
     scope = new_scope(cctx, FOR_SCOPE);
     if (scope == NULL)
