diff --git a/src/evalvars.c b/src/evalvars.c
index 7581a14..cd1f170 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2921,8 +2921,9 @@
 	if (ht != NULL)
 	    return ht;				// local variable
 
-	// in Vim9 script items at the script level are script-local
-	if (in_vim9script())
+	// In Vim9 script items at the script level are script-local, except
+	// for autoload names.
+	if (in_vim9script() && vim_strchr(name, AUTOLOAD_CHAR) == NULL)
 	{
 	    ht = get_script_local_ht();
 	    if (ht != NULL)
diff --git a/src/scriptfile.c b/src/scriptfile.c
index bbc4156..eefe39a 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1128,6 +1128,7 @@
     proftime_T		    wait_start;
 #endif
     int			    trigger_source_post = FALSE;
+    int			    save_estack_compiling = estack_compiling;
     ESTACK_CHECK_DECLARATION
 
     p = expand_env_save(fname);
@@ -1142,6 +1143,7 @@
 	smsg(_("Cannot source a directory: \"%s\""), fname);
 	goto theend;
     }
+    estack_compiling = FALSE;
 
 #ifdef FEAT_EVAL
     // See if we loaded this script before.
@@ -1508,6 +1510,7 @@
 
 theend:
     vim_free(fname_exp);
+    estack_compiling = save_estack_compiling;
     return retval;
 }
 
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 8d891d2..96e144f 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -114,6 +114,34 @@
   delete(dir, 'rf')
 enddef
 
+def Test_autoload_names()
+  var dir = 'Xdir/autoload'
+  mkdir(dir, 'p')
+
+  var lines =<< trim END
+      func foobar#function()
+        return 'yes'
+      endfunc
+      let foobar#var = 'no'
+  END
+  writefile(lines, dir .. '/foobar.vim')
+
+  var save_rtp = &rtp
+  exe 'set rtp=' .. getcwd() .. '/Xdir'
+
+  lines =<< trim END
+      assert_equal('yes', foobar#function())
+      var Function = foobar#function
+      assert_equal('yes', Function())
+
+      assert_equal('no', foobar#var)
+  END
+  CheckDefAndScriptSuccess(lines)
+
+  &rtp = save_rtp
+  delete(dir, 'rf')
+enddef
+
 def CallRecursive(n: number): number
   return CallRecursive(n + 1)
 enddef
diff --git a/src/version.c b/src/version.c
index 99a635b..0a113f4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2975,
+/**/
     2974,
 /**/
     2973,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 6fcad3d..44c082d 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -3084,7 +3084,13 @@
 	if (name == NULL)
 	    return FAIL;
 
-	if (arg_exists(*arg, len, &idx, &type, &gen_load_outer, cctx) == OK)
+	if (vim_strchr(name, AUTOLOAD_CHAR) != NULL)
+	{
+	    script_autoload(name, FALSE);
+	    res = generate_LOAD(cctx, ISN_LOADAUTO, 0, name, &t_any);
+	}
+	else if (arg_exists(*arg, len, &idx, &type, &gen_load_outer, cctx)
+									 == OK)
 	{
 	    if (gen_load_outer == 0)
 		gen_load = TRUE;
