diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index e2bc28d..0d79bef 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -411,6 +411,24 @@
   endif
 endfunc
 
+function Delete_Xtest_Files()
+  for file in glob('X*', v:false, v:true)
+    if file ==? 'XfakeHOME'
+      " Clean up files created by setup.vim
+      call delete('XfakeHOME', 'rf')
+      continue
+    endif
+    " call add(v:errors, file .. " exists when it shouldn't, trying to delete it!")
+    call delete(file)
+    if !empty(glob(file, v:false, v:true))
+      " call add(v:errors, file .. " still exists after trying to delete it!")
+      if has('unix')
+        call system('rm -rf  ' .. file)
+      endif
+    endif
+  endfor
+endfunc
+
 func AfterTheTest(func_name)
   if len(v:errors) > 0
     if match(s:may_fail_list, '^' .. a:func_name) >= 0
@@ -439,13 +457,11 @@
 " This function can be called by a test if it wants to abort testing.
 func FinishTesting()
   call AfterTheTest('')
+  call Delete_Xtest_Files()
 
   " Don't write viminfo on exit.
   set viminfo=
 
-  " Clean up files created by setup.vim
-  call delete('XfakeHOME', 'rf')
-
   if s:fail == 0 && s:fail_expected == 0
     " Success, create the .res file so that make knows it's done.
     exe 'split ' . fnamemodify(g:testname, ':r') . '.res'
diff --git a/src/testdir/test_mksession.vim b/src/testdir/test_mksession.vim
index aa29182..5485e14 100644
--- a/src/testdir/test_mksession.vim
+++ b/src/testdir/test_mksession.vim
@@ -973,6 +973,7 @@
   close
   %bwipe
   set sessionoptions&
+  call delete('Xtest_mks.out')
 endfunc
 
 " Test for mksession with "help" but not "options" in 'sessionoptions'
@@ -1105,6 +1106,7 @@
   set shortmess&
   set sessionoptions&
   call delete('Xtestsession')
+  call delete('Xtestfile')
 endfunc
 
 " Test for mksession with 'compatible' option
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index da263f4..bb6fca3 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -309,6 +309,7 @@
   call assert_equal('bar', bufname())
   call assert_match('bar.*finished', execute('ls'))
   exe 'bwipe! ' .. buf
+  call delete('Xtext')
 endfunc
 
 func s:Nasty_exit_cb(job, st)
@@ -1045,6 +1046,8 @@
     call WaitForAssert({-> assert_equal('dead', job_status(g:job))})
     bwipe
   endif
+
+  call delete('Xtext')
 endfunc
 
 func TerminalTmap(remap)
diff --git a/src/version.c b/src/version.c
index e5b4844..f2e714c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1679,
+/**/
     1678,
 /**/
     1677,
