diff --git a/src/testdir/term_util.vim b/src/testdir/term_util.vim
index df7cfa5..7c071bb 100644
--- a/src/testdir/term_util.vim
+++ b/src/testdir/term_util.vim
@@ -107,16 +107,18 @@
 
   call TermWait(buf)
 
-  " Wait for "All" or "Top" of the ruler to be shown in the last line or in
-  " the status line of the last window. This can be quite slow (e.g. when
-  " using valgrind).
-  " If it fails then show the terminal contents for debugging.
-  try
-    call WaitFor({-> len(term_getline(buf, rows)) >= cols - 1 || len(term_getline(buf, rows - statusoff)) >= cols - 1})
-  catch /timed out after/
-    let lines = map(range(1, rows), {key, val -> term_getline(buf, val)})
-    call assert_report('RunVimInTerminal() failed, screen contents: ' . join(lines, "<NL>"))
-  endtry
+  if get(a:options, 'wait_for_ruler', 1)
+    " Wait for "All" or "Top" of the ruler to be shown in the last line or in
+    " the status line of the last window. This can be quite slow (e.g. when
+    " using valgrind).
+    " If it fails then show the terminal contents for debugging.
+    try
+      call WaitFor({-> len(term_getline(buf, rows)) >= cols - 1 || len(term_getline(buf, rows - statusoff)) >= cols - 1})
+    catch /timed out after/
+      let lines = map(range(1, rows), {key, val -> term_getline(buf, val)})
+      call assert_report('RunVimInTerminal() failed, screen contents: ' . join(lines, "<NL>"))
+    endtry
+  endif
 
   " Starting a terminal to run Vim is always considered flaky.
   let g:test_is_flaky = 1
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 9dd9505..d56b90e 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1,6 +1,7 @@
 " Test various aspects of the Vim9 script language.
 
 source check.vim
+source term_util.vim
 source view_util.vim
 source vim9.vim
 
@@ -777,6 +778,25 @@
   assert_fails('export something', 'E1043')
 enddef
 
+def Test_import_fails_without_script()
+  CheckRunVimInTerminal
+
+  let export =<< trim END
+    vim9script
+    export def Foo(): number
+        return 0
+    enddef
+  END
+  writefile(export, 'Xexport.vim')
+
+  let buf = RunVimInTerminal('-c "import Foo from ''./Xexport.vim''"', #{
+                rows: 6, wait_for_ruler: 0})
+  WaitForAssert({-> assert_match('^E1094:', term_getline(buf, 5))})
+
+  delete('Xexport.vim')
+  StopVimInTerminal(buf)
+enddef
+
 def Test_vim9script_reload_import()
   let lines =<< trim END
     vim9script
diff --git a/src/version.c b/src/version.c
index 9df09d1..c1d8ca0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    992,
+/**/
     991,
 /**/
     990,
diff --git a/src/vim9script.c b/src/vim9script.c
index cdbcb47..442158c 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -32,13 +32,14 @@
     void
 ex_vim9script(exarg_T *eap)
 {
-    scriptitem_T    *si = SCRIPT_ITEM(current_sctx.sc_sid);
+    scriptitem_T    *si;
 
     if (!getline_equal(eap->getline, eap->cookie, getsourceline))
     {
 	emsg(_("E1038: vim9script can only be used in a script"));
 	return;
     }
+    si = SCRIPT_ITEM(current_sctx.sc_sid);
     if (si->sn_had_command)
     {
 	emsg(_("E1039: vim9script must be the first command in a script"));
@@ -141,8 +142,15 @@
     void
 ex_import(exarg_T *eap)
 {
-    char_u *cmd_end = handle_import(eap->arg, NULL, current_sctx.sc_sid, NULL);
+    char_u *cmd_end;
 
+    if (!getline_equal(eap->getline, eap->cookie, getsourceline))
+    {
+	emsg(_("E1094: import can only be used in a script"));
+	return;
+    }
+
+    cmd_end = handle_import(eap->arg, NULL, current_sctx.sc_sid, NULL);
     if (cmd_end != NULL)
 	eap->nextcmd = check_nextcmd(cmd_end);
 }
