diff --git a/src/dict.c b/src/dict.c
index 82c31de..c2f0fcc 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -352,7 +352,7 @@
 }
 
 /*
- * Check for adding a function to g: or s:.
+ * Check for adding a function to g: or s: (in Vim9 script) or l:.
  * If the name is wrong give an error message and return TRUE.
  */
     int
@@ -1105,17 +1105,9 @@
 	{
 	    --todo;
 	    di1 = dict_find(d1, hi2->hi_key, -1);
-	    if (d1->dv_scope != 0)
-	    {
-		// Disallow replacing a builtin function in l: and g:.
-		// 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_wrong_func_name(hi2->hi_key, di1 == NULL))
-		    break;
-		if (!valid_varname(hi2->hi_key, -1, TRUE))
-		    break;
-	    }
+	    // Check the key to be valid when adding to any scope.
+	    if (d1->dv_scope != 0 && !valid_varname(hi2->hi_key, -1, TRUE))
+		break;
 
 	    if (type != NULL
 		     && check_typval_arg_type(type, &HI2DI(hi2)->di_tv,
@@ -1138,6 +1130,7 @@
 		if (value_check_lock(di1->di_tv.v_lock, arg_errmsg, TRUE)
 			|| var_check_ro(di1->di_flags, arg_errmsg, TRUE))
 		    break;
+		// Disallow replacing a builtin function.
 		if (dict_wrong_func_name(d1, &HI2DI(hi2)->di_tv, hi2->hi_key))
 		    break;
 		clear_tv(&di1->di_tv);
diff --git a/src/eval.c b/src/eval.c
index b815113..c57f6a4 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1376,7 +1376,8 @@
 		else
 		    prevval = 0; // avoid compiler warning
 		wrong = (lp->ll_dict->dv_scope == VAR_DEF_SCOPE
-			       && rettv->v_type == VAR_FUNC
+			       && (rettv->v_type == VAR_FUNC
+					    || rettv->v_type == VAR_PARTIAL)
 			       && var_wrong_func_name(key, lp->ll_di == NULL))
 			|| !valid_varname(key, -1, TRUE);
 		if (len != -1)
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 938a839..831a894 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -2938,6 +2938,25 @@
   let g:bar = 123
   call extend(g:, #{bar: { -> "foo" }}, "keep")
   call assert_fails('call extend(g:, #{bar: { -> "foo" }}, "force")', 'E704:')
+  unlet g:bar
+
+  call assert_fails('call extend(l:, #{foo: { -> "foo" }})', 'E704:')
+  let bar = 123
+  call extend(l:, #{bar: { -> "foo" }}, "keep")
+  call assert_fails('call extend(l:, #{bar: { -> "foo" }}, "force")', 'E704:')
+  unlet bar
+
+  call assert_fails('call extend(g:, #{foo: function("extend")})', 'E704:')
+  let g:bar = 123
+  call extend(g:, #{bar: function("extend")}, "keep")
+  call assert_fails('call extend(g:, #{bar: function("extend")}, "force")', 'E704:')
+  unlet g:bar
+
+  call assert_fails('call extend(l:, #{foo: function("extend")})', 'E704:')
+  let bar = 123
+  call extend(l:, #{bar: function("extend")}, "keep")
+  call assert_fails('call extend(l:, #{bar: function("extend")}, "force")', 'E704:')
+  unlet bar
 endfunc
 
 func Test_funcref_to_string()
diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim
index 3f9bdd4..4e4a386 100644
--- a/src/testdir/test_let.vim
+++ b/src/testdir/test_let.vim
@@ -316,6 +316,7 @@
   call assert_fails('let l += 2', 'E734:')
   call assert_fails('let g:["a;b"] = 10', 'E461:')
   call assert_fails('let g:.min = function("max")', 'E704:')
+  call assert_fails('let g:cos = "" | let g:.cos = {-> 42}', 'E704:')
   if has('channel')
     let ch = test_null_channel()
     call assert_fails('let ch += 1', 'E734:')
diff --git a/src/version.c b/src/version.c
index 755cd09..2694639 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    836,
+/**/
     835,
 /**/
     834,
