diff --git a/src/dict.c b/src/dict.c
index ad482cd..b381d47 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -966,7 +966,7 @@
 		// Check the key to be valid when adding to any scope.
 		if (d1->dv_scope == VAR_DEF_SCOPE
 			&& HI2DI(hi2)->di_tv.v_type == VAR_FUNC
-			&& var_check_func_name(hi2->hi_key, di1 == NULL))
+			&& var_wrong_func_name(hi2->hi_key, di1 == NULL))
 		    break;
 		if (!valid_varname(hi2->hi_key))
 		    break;
diff --git a/src/eval.c b/src/eval.c
index c695468..b1fad1d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1007,7 +1007,7 @@
 		    prevval = 0; // avoid compiler warning
 		wrong = (lp->ll_dict->dv_scope == VAR_DEF_SCOPE
 			       && rettv->v_type == VAR_FUNC
-			       && var_check_func_name(key, lp->ll_di == NULL))
+			       && var_wrong_func_name(key, lp->ll_di == NULL))
 			|| !valid_varname(key);
 		if (len != -1)
 		    key[len] = prevval;
diff --git a/src/evalvars.c b/src/evalvars.c
index 869deef..70afa84 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2928,7 +2928,7 @@
 	di = find_var_in_scoped_ht(name, TRUE);
 
     if ((tv->v_type == VAR_FUNC || tv->v_type == VAR_PARTIAL)
-				      && var_check_func_name(name, di == NULL))
+				      && var_wrong_func_name(name, di == NULL))
 	return;
 
     if (di != NULL)
@@ -3114,7 +3114,7 @@
  * Return TRUE and give an error if not.
  */
     int
-var_check_func_name(
+var_wrong_func_name(
     char_u *name,    // points to start of variable name
     int    new_var)  // TRUE when creating the variable
 {
diff --git a/src/proto/evalvars.pro b/src/proto/evalvars.pro
index 43c2528..f304872 100644
--- a/src/proto/evalvars.pro
+++ b/src/proto/evalvars.pro
@@ -68,7 +68,7 @@
 void set_var_const(char_u *name, type_T *type, typval_T *tv, int copy, int flags);
 int var_check_ro(int flags, char_u *name, int use_gettext);
 int var_check_fixed(int flags, char_u *name, int use_gettext);
-int var_check_func_name(char_u *name, int new_var);
+int var_wrong_func_name(char_u *name, int new_var);
 int var_check_lock(int lock, char_u *name, int use_gettext);
 int valid_varname(char_u *varname);
 void reset_v_option_vars(void);
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 746983d..7e1e16a 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -53,8 +53,8 @@
   let RetThat: func = g:atrue ? RetOne : RetTwo
   assert_equal(function('len'), RetThat)
 
-  let x = FuncOne
-  let y = FuncTwo
+  let X = FuncOne
+  let Y = FuncTwo
   let Z = g:cond ? FuncOne : FuncTwo
   assert_equal(123, Z(3))
 enddef
@@ -132,8 +132,8 @@
 
   " missing argument detected even when common type is used
   call CheckDefFailure([
-	\ 'let x = FuncOne',
-	\ 'let y = FuncTwo',
+	\ 'let X = FuncOne',
+	\ 'let Y = FuncTwo',
 	\ 'let Z = g:cond ? FuncOne : FuncTwo',
 	\ 'Z()'], 'E119:')
 endfunc
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 10706b1..eedce32 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -28,6 +28,7 @@
   call CheckDefFailure(['let x:string'], 'E1069:')
   call CheckDefFailure(['let x:string = "x"'], 'E1069:')
   call CheckDefFailure(['let a:string = "x"'], 'E1069:')
+  call CheckDefFailure(['let lambda = {-> "lambda"}'], 'E704:')
 
   let nr: number = 1234
   call CheckDefFailure(['let nr: number = "asdf"'], 'E1013:')
diff --git a/src/version.c b/src/version.c
index 17ed09b..870df17 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1395,
+/**/
     1394,
 /**/
     1393,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 04681fe..0664124 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -5515,7 +5515,8 @@
 	    }
 
 	    // new local variable
-	    if (type->tt_type == VAR_FUNC && var_check_func_name(name, TRUE))
+	    if ((type->tt_type == VAR_FUNC || type->tt_type == VAR_PARTIAL)
+					    && var_wrong_func_name(name, TRUE))
 		goto theend;
 	    lvar = reserve_local(cctx, var_start, varlen,
 						    cmdidx == CMD_const, type);
@@ -5624,6 +5625,12 @@
 			    emsg(_(e_cannot_use_void));
 			    goto theend;
 			}
+			else if ((stacktype->tt_type == VAR_FUNC
+				    || stacktype->tt_type == VAR_PARTIAL)
+					    && var_wrong_func_name(name, TRUE))
+			{
+			    goto theend;
+			}
 			else
 			{
 			    // An empty list or dict has a &t_void member,
