diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 46b826c..7aa1549 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1140,7 +1140,7 @@
   # when using "vim9script autoload" prefix is not needed
   var lines =<< trim END
      vim9script autoload
-     g:prefixed_loaded = 'yes'
+     g:prefixed_loaded += 1
 
      export def Gettest(): string
        return 'test'
@@ -1156,12 +1156,14 @@
   END
   writefile(lines, 'Xdir/autoload/prefixed.vim')
 
+  g:prefixed_loaded = 0
+  g:expected_loaded = 0
   lines =<< trim END
       vim9script
       import autoload 'prefixed.vim'
-      assert_false(exists('g:prefixed_loaded'))
+      assert_equal(g:expected_loaded, g:prefixed_loaded)
       assert_equal('test', prefixed.Gettest())
-      assert_equal('yes', g:prefixed_loaded)
+      assert_equal(1, g:prefixed_loaded)
 
       assert_equal('testmore', prefixed.GetMore())
       assert_equal('name', prefixed.name)
@@ -1169,6 +1171,9 @@
       assert_equal('const', prefixed.cname)
   END
   CheckScriptSuccess(lines)
+  # can source it again, autoload script not loaded again
+  g:expected_loaded = 1
+  CheckScriptSuccess(lines)
 
   # can also get the items by autoload name
   lines =<< trim END
diff --git a/src/version.c b/src/version.c
index e329775..24d2f08 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4066,
+/**/
     4065,
 /**/
     4064,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 963c052..90cb2b4 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -623,10 +623,12 @@
 
     if (ret != NULL && load && ret->imp_flags == IMP_FLAGS_AUTOLOAD)
     {
+	scid_T dummy;
+
 	// script found before but not loaded yet
 	ret->imp_flags = 0;
 	(void)do_source(SCRIPT_ITEM(ret->imp_sid)->sn_name, FALSE,
-							      DOSO_NONE, NULL);
+							    DOSO_NONE, &dummy);
     }
     return ret;
 }
diff --git a/src/vim9script.c b/src/vim9script.c
index d3e1922..b72995c 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -250,6 +250,8 @@
     void
 ex_export(exarg_T *eap)
 {
+    int	    prev_did_emsg = did_emsg;
+
     if (!in_vim9script())
     {
 	emsg(_(e_export_can_only_be_used_in_vim9script));
@@ -273,12 +275,14 @@
 	    // The command will reset "is_export" when exporting an item.
 	    if (is_export)
 	    {
-		emsg(_(e_export_with_invalid_argument));
+		if (did_emsg == prev_did_emsg)
+		    emsg(_(e_export_with_invalid_argument));
 		is_export = FALSE;
 	    }
 	    break;
 	default:
-	    emsg(_(e_invalid_command_after_export));
+	    if (did_emsg == prev_did_emsg)
+		emsg(_(e_invalid_command_after_export));
 	    break;
     }
 }
@@ -589,14 +593,17 @@
 		&& check_defined(as_name, STRLEN(as_name), cctx, FALSE) == FAIL)
 	    goto erret;
 
-	imported = new_imported(import_gap);
 	if (imported == NULL)
-	    goto erret;
-	imported->imp_name = as_name;
-	as_name = NULL;
-	imported->imp_sid = sid;
-	if (is_autoload)
-	    imported->imp_flags = IMP_FLAGS_AUTOLOAD;
+	{
+	    imported = new_imported(import_gap);
+	    if (imported == NULL)
+		goto erret;
+	    imported->imp_name = as_name;
+	    as_name = NULL;
+	    imported->imp_sid = sid;
+	    if (is_autoload)
+		imported->imp_flags = IMP_FLAGS_AUTOLOAD;
+	}
     }
 
 erret:
