diff --git a/src/ex_eval.c b/src/ex_eval.c
index 1f66e33..d80500e 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -887,22 +887,32 @@
     }
 }
 
+/*
+ * Return TRUE if "arg" is only a variable, register or option name.
+ */
     int
 cmd_is_name_only(char_u *arg)
 {
     char_u  *p = arg;
-    char_u  *alias;
+    char_u  *alias = NULL;
     int	    name_only = FALSE;
 
-    if (*p == '&')
+    if (*p == '@')
     {
 	++p;
-	if (STRNCMP("l:", p, 2) == 0 || STRNCMP("g:", p, 2) == 0)
-	    p += 2;
+	if (*p != NUL)
+	    ++p;
     }
-    else if (*p == '@')
-	++p;
-    get_name_len(&p, &alias, FALSE, FALSE);
+    else
+    {
+	if (*p == '&')
+	{
+	    ++p;
+	    if (STRNCMP("l:", p, 2) == 0 || STRNCMP("g:", p, 2) == 0)
+		p += 2;
+	}
+	get_name_len(&p, &alias, FALSE, FALSE);
+    }
     name_only = ends_excmd2(arg, skipwhite(p));
     vim_free(alias);
     return name_only;
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 0fa65d1..31f20cb 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -556,7 +556,34 @@
       @a = 'echo "text"'
       @a
   END
-  CheckDefAndScriptFailure(lines, 'E1207:')
+  CheckDefAndScriptFailure(lines, 'E1207:', 2)
+
+  lines =<< trim END
+      @/ = 'pattern'
+      @/
+  END
+  CheckDefAndScriptFailure(lines, 'E1207:', 2)
+
+  lines =<< trim END
+      &opfunc = 'nothing'
+      &opfunc
+  END
+  CheckDefAndScriptFailure(lines, 'E1207:', 2)
+  &opfunc = ''
+
+  lines =<< trim END
+      &l:showbreak = 'nothing'
+      &l:showbreak
+  END
+  CheckDefAndScriptFailure(lines, 'E1207:', 2)
+  &l:showbreak = ''
+
+  lines =<< trim END
+      &g:showbreak = 'nothing'
+      &g:showbreak
+  END
+  CheckDefAndScriptFailure(lines, 'E1207:', 2)
+  &g:showbreak = ''
 enddef
 
 def Test_environment_use_linebreak()
diff --git a/src/version.c b/src/version.c
index 67b2634..d91f522 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3645,
+/**/
     3644,
 /**/
     3643,
