diff --git a/src/evalvars.c b/src/evalvars.c
index fbf521e..a946c75 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2461,6 +2461,20 @@
 		tv = sv->sv_tv;
 	    }
 	}
+	else if (in_vim9script())
+	{
+	    ufunc_T *ufunc = find_func(name, FALSE, NULL);
+
+	    if (ufunc != NULL)
+	    {
+		foundFunc = TRUE;
+		if (rettv != NULL)
+		{
+		    rettv->v_type = VAR_FUNC;
+		    rettv->vval.v_string = vim_strsave(ufunc->uf_name);
+		}
+	    }
+	}
     }
 
     if (!foundFunc)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 4ff0fd7..e8e7668 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1668,6 +1668,17 @@
   CheckScriptSuccess(lines)
 enddef
 
+def Test_epxr7_funcref()
+  let lines =<< trim END
+    def RetNumber(): number
+      return 123
+    enddef
+    let FuncRef = RetNumber
+    assert_equal(123, FuncRef())
+  END
+  CheckDefAndScriptSuccess(lines)
+enddef
+
 def Test_expr7_dict()
   # dictionary
   assert_equal(g:dict_empty, {})
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 245817b..952b675 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1684,8 +1684,9 @@
   delete('Xscript.vim')
 enddef
 
-" Check that when searcing for "FilterFunc" it doesn't find the import in the
-" script where FastFilter() is called from.
+" Check that when searching for "FilterFunc" it finds the import in the
+" script where FastFilter() is called from, both as a string and as a direct
+" function reference.
 def Test_vim9script_funcref_other_script()
   let filterLines =<< trim END
     vim9script
@@ -1695,22 +1696,26 @@
     export def FastFilter(): list<number>
       return range(10)->filter('FilterFunc')
     enddef
+    export def FastFilterDirect(): list<number>
+      return range(10)->filter(FilterFunc)
+    enddef
   END
   writefile(filterLines, 'Xfilter.vim')
 
   let lines =<< trim END
     vim9script
-    import {FilterFunc, FastFilter} from './Xfilter.vim'
+    import {FilterFunc, FastFilter, FastFilterDirect} from './Xfilter.vim'
     def Test()
       let x: list<number> = FastFilter()
     enddef
     Test()
+    def TestDirect()
+      let x: list<number> = FastFilterDirect()
+    enddef
+    TestDirect()
   END
-  writefile(lines, 'Ximport.vim')
-  assert_fails('source Ximport.vim', 'E121:')
-
+  CheckScriptSuccess(lines)
   delete('Xfilter.vim')
-  delete('Ximport.vim')
 enddef
 
 def Test_vim9script_reload_delfunc()
diff --git a/src/version.c b/src/version.c
index 514cc68..0b63281 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1527,
+/**/
     1526,
 /**/
     1525,
