diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 0c55a57..a5562cc 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3219,8 +3219,9 @@
      * "lvar = value", "lvar(arg)", "[1, 2 3]->Func()"
      */
     p = eap->cmd;
-    if (lookup != NULL && (*p == '(' || *p == '[' || *p == '{'
-	       || ((p = to_name_const_end(eap->cmd)) > eap->cmd && *p != NUL)))
+    if (lookup != NULL && (*p == '(' || *p == '{'
+	       || ((p = to_name_const_end(eap->cmd)) > eap->cmd && *p != NUL)
+	       || *p == '['))
     {
 	int oplen;
 	int heredoc;
@@ -3233,6 +3234,7 @@
 	// "{..." is an dict expression.
 	if (*p == '('
 		|| *p == '{'
+		|| (*p == '[' && p > eap->cmd)
 		|| p[1] == ':'
 		|| (*p == '-' && p[1] == '>'))
 	{
@@ -3240,6 +3242,18 @@
 	    return eap->cmd;
 	}
 
+	// "[...]->Method()" is a list expression, but "[a, b] = Func()" is
+	// an assignment.
+	// If there is no line break inside the "[...]" then "p" is advanced to
+	// after the "]" by to_name_const_end(): check if a "=" follows.
+	// If "[...]" has a line break "p" still points at the "[" and it can't
+	// be an assignment.
+	if (*eap->cmd == '[' && (p == eap->cmd || *skipwhite(p) != '='))
+	{
+	    eap->cmdidx = CMD_eval;
+	    return eap->cmd;
+	}
+
 	// Recognize an assignment if we recognize the variable name:
 	// "g:var = expr"
 	// "var = expr"  where "var" is a local var name.
@@ -3253,15 +3267,6 @@
 		return eap->cmd;
 	    }
 	}
-
-	// "[...]->Method()" is a list expression.  But "[a, b] = Func()" is
-	// an assignment.
-	if (*p == '[' && (eval_list(&p, NULL, NULL, FALSE) == FAIL
-						      || *skipwhite(p) != '='))
-	{
-	    eap->cmdidx = CMD_eval;
-	    return eap->cmd;
-	}
     }
 #endif
 
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index ab91a16..27d2b3a 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -190,7 +190,7 @@
   CheckScriptSuccess(lines)
 enddef
 
-def Test_method_cal_linebreak()
+def Test_method_call_linebreak()
   let lines =<< trim END
       vim9script
       let res = []
diff --git a/src/version.c b/src/version.c
index fa8c639..54469ff 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1116,
+/**/
     1115,
 /**/
     1114,
