diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 3fa5d6a..ed59721 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -270,6 +270,19 @@
     assert_equal(123, Funcref())
   END
   CheckScriptSuccess(lines)
+
+  lines =<< trim END
+    vim9script
+    def RetNumber(): number
+      return 123
+    enddef
+    def Bar(F: func: number): number
+      return F()
+    enddef
+    let Funcref = function('RetNumber')
+    assert_equal(123, Bar(Funcref))
+  END
+  CheckScriptSuccess(lines)
 enddef
 
 let SomeFunc = function('len')
diff --git a/src/version.c b/src/version.c
index 9ac0340..0bb6b0a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1271,
+/**/
     1270,
 /**/
     1269,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 55f08a7..999833b 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -599,6 +599,28 @@
 	member.tt_member = &t_any;
 	actual.tt_member = &member;
     }
+    else if (actual_tv->v_type == VAR_FUNC || actual_tv->v_type == VAR_PARTIAL)
+    {
+	char_u	*name = NULL;
+	ufunc_T *ufunc = NULL;
+
+	if (actual_tv->v_type == VAR_PARTIAL)
+	{
+	    if (actual_tv->vval.v_partial->pt_func != NULL)
+		ufunc = actual_tv->vval.v_partial->pt_func;
+	    else
+		name = actual_tv->vval.v_partial->pt_name;
+	}
+	else
+	    name = actual_tv->vval.v_string;
+	if (name != NULL)
+	    // TODO: how about a builtin function?
+	    ufunc = find_func(name, FALSE, NULL);
+	if (ufunc != NULL && ufunc->uf_func_type != NULL)
+	    actual = *ufunc->uf_func_type;
+	else
+	    actual.tt_member = &t_any;
+    }
     else
 	actual.tt_member = &t_any;
     return check_type(expected, &actual, TRUE);
