diff --git a/src/testdir/vim9.vim b/src/testdir/vim9.vim
index e700732..bb522df 100644
--- a/src/testdir/vim9.vim
+++ b/src/testdir/vim9.vim
@@ -5,13 +5,18 @@
 
 " Check that "lines" inside a ":def" function has no error.
 func CheckDefSuccess(lines)
-  let fname = 'Xdef' .. s:sequence
+  let cwd = getcwd()
+  let fname = 'XdefSuccess' .. s:sequence
   let s:sequence += 1
   call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], fname)
-  exe 'so ' .. fname
-  call Func()
-  delfunc! Func
-  call delete(fname)
+  try
+    exe 'so ' .. fname
+    call Func()
+    delfunc! Func
+  finally
+    call chdir(cwd)
+    call delete(fname)
+  endtry
 endfunc
 
 " Check that "lines" inside ":def" results in an "error" message.
@@ -19,12 +24,17 @@
 " Add a line before and after to make it less likely that the line number is
 " accidentally correct.
 func CheckDefFailure(lines, error, lnum = -3)
-  let fname = 'Xdef' .. s:sequence
-  call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef', 'defcompile'], fname)
-  call assert_fails('so ' .. fname, a:error, a:lines, a:lnum + 1)
-  delfunc! Func
-  call delete(fname)
+  let cwd = getcwd()
+  let fname = 'XdefFailure' .. s:sequence
   let s:sequence += 1
+  call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef', 'defcompile'], fname)
+  try
+    call assert_fails('so ' .. fname, a:error, a:lines, a:lnum + 1)
+  finally
+    call chdir(cwd)
+    call delete(fname)
+    delfunc! Func
+  endtry
 endfunc
 
 " Check that "lines" inside ":def" results in an "error" message when executed.
@@ -32,29 +42,44 @@
 " Add a line before and after to make it less likely that the line number is
 " accidentally correct.
 func CheckDefExecFailure(lines, error, lnum = -3)
-  let fname = 'Xdef' .. s:sequence
+  let cwd = getcwd()
+  let fname = 'XdefExecFailure' .. s:sequence
   let s:sequence += 1
   call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef'], fname)
-  exe 'so ' .. fname
-  call assert_fails('call Func()', a:error, a:lines, a:lnum + 1)
-  delfunc! Func
-  call delete(fname)
+  try
+    exe 'so ' .. fname
+    call assert_fails('call Func()', a:error, a:lines, a:lnum + 1)
+  finally
+    call chdir(cwd)
+    call delete(fname)
+    delfunc! Func
+  endtry
 endfunc
 
 def CheckScriptFailure(lines: list<string>, error: string, lnum = -3)
-  var fname = 'Xdef' .. s:sequence
+  var cwd = getcwd()
+  var fname = 'XScriptFailure' .. s:sequence
   s:sequence += 1
   writefile(lines, fname)
-  assert_fails('so ' .. fname, error, lines, lnum)
-  delete(fname)
+  try
+    assert_fails('so ' .. fname, error, lines, lnum)
+  finally
+    chdir(cwd)
+    delete(fname)
+  endtry
 enddef
 
 def CheckScriptSuccess(lines: list<string>)
-  var fname = 'Xdef' .. s:sequence
+  var cwd = getcwd()
+  var fname = 'XScriptSuccess' .. s:sequence
   s:sequence += 1
   writefile(lines, fname)
-  exe 'so ' .. fname
-  delete(fname)
+  try
+    exe 'so ' .. fname
+  finally
+    chdir(cwd)
+    delete(fname)
+  endtry
 enddef
 
 def CheckDefAndScriptSuccess(lines: list<string>)
