diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 52237e3..039387d 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -3147,6 +3147,22 @@
   CheckDefExecFailure(lines, 'E1013:')
 enddef
 
+def Test_expr7_method_call_linebreak()
+  # this was giving an error when skipping over the expression
+  var lines =<< trim END
+      vim9script
+      def Test()
+        var a: dict<any> = {b: {}}
+        a.b->extend({f1: 1,
+                         f2: 2})
+        echo a
+      enddef
+      defcompile
+      assert_equal('', v:errmsg)
+  END
+  CheckScriptSuccess(lines)
+enddef
+
 
 def Test_expr7_not()
   var lines =<< trim END
diff --git a/src/userfunc.c b/src/userfunc.c
index a3ff38c..48f5890 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -1703,6 +1703,8 @@
     typval_T	argvars[MAX_FUNC_ARGS + 1];	// vars for arguments
     int		argcount = 0;		// number of arguments found
     int		vim9script = in_vim9script();
+    int		evaluate = evalarg == NULL
+			       ? FALSE : (evalarg->eval_flags & EVAL_EVALUATE);
 
     /*
      * Get the arguments.
@@ -1728,7 +1730,9 @@
 	{
 	    if (*argp != ',' && *skipwhite(argp) == ',')
 	    {
-		semsg(_(e_no_white_space_allowed_before_str_str), ",", argp);
+		if (evaluate)
+		    semsg(_(e_no_white_space_allowed_before_str_str),
+								    ",", argp);
 		ret = FAIL;
 		break;
 	    }
@@ -1739,7 +1743,8 @@
 	    break;
 	if (vim9script && !IS_WHITE_OR_NUL(argp[1]))
 	{
-	    semsg(_(e_white_space_required_after_str_str), ",", argp);
+	    if (evaluate)
+		semsg(_(e_white_space_required_after_str_str), ",", argp);
 	    ret = FAIL;
 	    break;
 	}
@@ -1778,7 +1783,7 @@
 
 	funcargs.ga_len -= i;
     }
-    else if (!aborting())
+    else if (!aborting() && evaluate)
     {
 	if (argcount == MAX_FUNC_ARGS)
 	    emsg_funcname(e_too_many_arguments_for_function_str_2, name);
diff --git a/src/version.c b/src/version.c
index 7d080c4..e46a380 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4055,
+/**/
     4054,
 /**/
     4053,
