diff --git a/src/testdir/term_util.vim b/src/testdir/term_util.vim
index de87dd4..d748ed0 100644
--- a/src/testdir/term_util.vim
+++ b/src/testdir/term_util.vim
@@ -24,6 +24,7 @@
   call term_sendkeys(a:buf, "exit\r")
   let job = term_getjob(a:buf)
   call WaitForAssert({-> assert_equal("dead", job_status(job))})
+  call TermWait(a:buf)
 endfunc
 
 " Wrapper around term_wait() to allow more time for re-runs of flaky tests
@@ -176,6 +177,10 @@
   let string = string({'job': buf->term_getjob()})
   call assert_match("{'job': 'process \\d\\+ run'}", string)
 
+  " On slower systems it may take a bit of time before the shell is ready to
+  " accept keys.  This mainly matters when using term_sendkeys() next.
+  call TermWait(buf)
+
   return buf
 endfunc
 
diff --git a/src/testdir/test_mapping.vim b/src/testdir/test_mapping.vim
index dd0c8d1..2e9c3e8 100644
--- a/src/testdir/test_mapping.vim
+++ b/src/testdir/test_mapping.vim
@@ -976,7 +976,6 @@
     call assert_equal('t', m)
     call assert_equal('t', mode(1))
     call StopShellInTerminal(buf)
-    call TermWait(buf)
     close!
     tunmap <F3>
   endif
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 3fda75d..45a3646 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -26,7 +26,6 @@
   call assert_fails('set modifiable', 'E946:')
 
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   call assert_equal('n', mode())
   call assert_match('%aF[^\n]*finished]', execute('ls'))
   call assert_match('%aF[^\n]*finished]', execute('ls F'))
@@ -48,7 +47,6 @@
   call assert_equal("", bufname(buf))
   call assert_match('\[No Name\]', execute('file'))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
 endfunc
 
 func Test_terminal_TerminalWinOpen()
@@ -71,7 +69,6 @@
 func Test_terminal_make_change()
   let buf = Run_shell_in_terminal({})
   call StopShellInTerminal(buf)
-  call TermWait(buf)
 
   setlocal modifiable
   exe "normal Axxx\<Esc>"
@@ -109,7 +106,6 @@
 
 func Test_terminal_split_quit()
   let buf = Run_shell_in_terminal({})
-  call TermWait(buf)
   split
   quit!
   call TermWait(buf)
@@ -363,7 +359,6 @@
   call assert_inrange(91, 100, lines)
 
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
   set termwinscroll&
   call delete('Xtext')
@@ -751,7 +746,6 @@
 
   let g:job = term_getjob(buf)
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   unlet g:job
   bwipe
 endfunc
@@ -934,7 +928,6 @@
 
   call term_sendkeys(buf, "\r")
   call StopShellInTerminal(buf)
-  call TermWait(buf)
 
   tunmap 123
   tunmap 456
@@ -952,7 +945,6 @@
   let buf = Run_shell_in_terminal({})
   wall
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
   unlet g:job
 endfunc
@@ -961,7 +953,6 @@
   let buf = Run_shell_in_terminal({})
   call assert_fails('wqall', 'E948:')
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
   unlet g:job
 endfunc
@@ -2001,7 +1992,6 @@
   let buf = Run_shell_in_terminal({})
   call assert_equal(colors, term_getansicolors(buf))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   call assert_equal([], term_getansicolors(buf))
 
   exe buf . 'bwipe'
@@ -2026,7 +2016,6 @@
   let buf = Run_shell_in_terminal({})
   call assert_equal(g:terminal_ansi_colors, term_getansicolors(buf))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
 
   exe buf . 'bwipe'
   unlet g:terminal_ansi_colors
@@ -2060,7 +2049,6 @@
   call assert_fails('call term_setansicolors(buf, {})', 'E714:')
 
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   call assert_equal(0, term_setansicolors(buf, []))
   exe buf . 'bwipe'
 endfunc
diff --git a/src/testdir/test_terminal2.vim b/src/testdir/test_terminal2.vim
index 088f697..a40fc84 100644
--- a/src/testdir/test_terminal2.vim
+++ b/src/testdir/test_terminal2.vim
@@ -49,7 +49,6 @@
   let win = bufwinid(buf)
   call assert_equal([winheight(win), winwidth(win)], term_getsize(buf))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 
   set termwinsize=7x0
@@ -57,7 +56,6 @@
   let win = bufwinid(buf)
   call assert_equal([7, winwidth(win)], term_getsize(buf))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 
   set termwinsize=0x33
@@ -65,7 +63,6 @@
   let win = bufwinid(buf)
   call assert_equal([winheight(win), 33], term_getsize(buf))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 
   set termwinsize=
@@ -95,7 +92,6 @@
   call assert_equal(30, winwidth(win))
 
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 
   set termwinsize=0*0
@@ -103,7 +99,6 @@
   let win = bufwinid(buf)
   call assert_equal([winheight(win), winwidth(win)], term_getsize(buf))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 
   set termwinsize=
@@ -287,7 +282,6 @@
   call assert_equal(1, winnr('$'))
   let buf = Run_shell_in_terminal({'term_finish': 'close'})
   call StopShellInTerminal(buf)
-  call TermWait(buf)
 
   " closing window wipes out the terminal buffer a with finished job
   call WaitForAssert({-> assert_equal(1, winnr('$'))})
@@ -572,7 +566,6 @@
   call assert_equal('', term_gettty(buf + 1))
 
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 endfunc
 
diff --git a/src/testdir/test_terminal3.vim b/src/testdir/test_terminal3.vim
index a351799..5e7a89f 100644
--- a/src/testdir/test_terminal3.vim
+++ b/src/testdir/test_terminal3.vim
@@ -779,8 +779,6 @@
 func Test_terminal_sync_shell_dir()
   CheckUnix
   " The test always use sh (see src/testdir/unix.vim).
-  " However, BSD's sh doesn't seem to play well with OSC 7 escape sequence.
-  CheckNotBSD
 
   set asd
   " , is
@@ -789,15 +787,15 @@
   let chars = ",a"
   " "," is url-encoded as '%2C'
   let chars_url = "%2Ca"
-  let tmpfolder = fnamemodify(tempname(),':h').'/'.chars
-  let tmpfolder_url = fnamemodify(tempname(),':h').'/'.chars_url
+  let tmpfolder = fnamemodify(tempname(),':h') .. '/' .. chars
+  let tmpfolder_url = fnamemodify(tempname(),':h') .. '/' .. chars_url
   call mkdir(tmpfolder, "p")
   let buf = Run_shell_in_terminal({})
-  call term_sendkeys(buf, "echo -ne $'\\e\]7;file://".tmpfolder_url."\\a'\<CR>")
-  "call term_sendkeys(buf, "cd ".tmpfolder."\<CR>")
+  call term_sendkeys(buf, "echo $'\\e\]7;file://" .. tmpfolder_url .. "\\a'\<CR>")
+  "call term_sendkeys(buf, "cd " .. tmpfolder .. "\<CR>")
   call TermWait(buf)
   if has("mac")
-    let expected = "/private".tmpfolder
+    let expected = "/private" .. tmpfolder
   else
     let expected = tmpfolder
   endif
diff --git a/src/version.c b/src/version.c
index 5277400..7f631da 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4078,
+/**/
     4077,
 /**/
     4076,
