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
 
