diff --git a/src/errors.h b/src/errors.h
index 6f25af6..82708d3 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -2762,7 +2762,8 @@
 EXTERN char e_yank_register_changed_while_using_it[]
 	INIT(= N_("E1064: Yank register changed while using it"));
 #ifdef FEAT_EVAL
-// E1065 unused
+EXTERN char e_must_use_var_instead_of_va[]
+	INIT(= N_("E1065: Must use :var instead of :va"));
 EXTERN char e_cannot_declare_a_register_str[]
 	INIT(= N_("E1066: Cannot declare a register: %s"));
 EXTERN char e_separator_mismatch_str[]
diff --git a/src/evalvars.c b/src/evalvars.c
index 40e643b..56ac3da 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -755,17 +755,24 @@
 ex_var(exarg_T *eap)
 {
     char_u *p = eap->cmd;
+    int	    has_var;
 
     if (!in_vim9script())
     {
 	semsg(_(e_str_cannot_be_used_in_legacy_vim_script), ":var");
 	return;
     }
-    if (current_sctx.sc_sid == 0 && checkforcmd_noparen(&p, "var", 3))
+    has_var = checkforcmd_noparen(&p, "var", 3);
+    if (current_sctx.sc_sid == 0 && has_var)
     {
 	emsg(_(e_cannot_declare_variable_on_command_line));
 	return;
     }
+    if (eap->arg > eap->cmd && !has_var)
+    {
+	emsg(_(e_must_use_var_instead_of_va));
+	return;
+    }
     ex_let(eap);
 }
 
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index ccf2a01..6f64334 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1965,6 +1965,11 @@
   v9.CheckDefFailure(['var foo.bar = 2'], 'E1087:')
   v9.CheckDefFailure(['var foo[3] = 2'], 'E1087:')
   v9.CheckDefFailure(['const foo: number'], 'E1021:')
+
+  lines =<< trim END
+      va foo = 123
+  END
+  v9.CheckDefAndScriptFailure(lines, 'E1065:', 1)
 enddef
 
 def Test_var_declaration_inferred()
diff --git a/src/version.c b/src/version.c
index 5bbd307..999f8ac 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4509,
+/**/
     4508,
 /**/
     4507,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 8987123..52c60fb 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1883,7 +1883,14 @@
     lhs_T	lhs;
     long	start_lnum = SOURCING_LNUM;
 
-    // Skip over the "var" or "[var, var]" to get to any "=".
+    p = eap->cmd;
+    if (eap->cmdidx == CMD_var && arg > p && !checkforcmd_noparen(&p, "var", 3))
+    {
+	emsg(_(e_must_use_var_instead_of_va));
+	return NULL;
+    }
+
+    // Skip over the "varname" or "[varname, varname]" to get to any "=".
     p = skip_var_list(arg, TRUE, &var_count, &semicolon, TRUE);
     if (p == NULL)
 	return *arg == '[' ? arg : NULL;
