diff --git a/src/testdir/test_undo.vim b/src/testdir/test_undo.vim
index c1b821e..e06abff 100644
--- a/src/testdir/test_undo.vim
+++ b/src/testdir/test_undo.vim
@@ -85,7 +85,7 @@
 func FillBuffer()
   for i in range(1,13)
     put=i
-    " Set 'undolevels' to split undo. 
+    " Set 'undolevels' to split undo.
     exe "setg ul=" . &g:ul
   endfor
 endfunc
@@ -193,19 +193,19 @@
   new
   set ul=100
 
-  let a=execute('undolist')
+  let a = execute('undolist')
   call assert_equal("\nNothing to undo", a)
 
   " 1 leaf (2 changes).
   call feedkeys('achange1', 'xt')
   call feedkeys('achange2', 'xt')
-  let a=execute('undolist')
+  let a = execute('undolist')
   call assert_match("^\nnumber changes  when  *saved\n *2  *2 .*$", a)
 
   " 2 leaves.
   call feedkeys('u', 'xt')
   call feedkeys('achange3\<Esc>', 'xt')
-  let a=execute('undolist')
+  let a = execute('undolist')
   call assert_match("^\nnumber changes  when  *saved\n *2  *2  *.*\n *3  *2 .*$", a)
   close!
 endfunc
@@ -339,7 +339,7 @@
 " Also test this in an empty buffer.
 func Test_cmd_in_reg_undo()
   enew!
-  let @a="Ox\<Esc>jAy\<Esc>kdd"
+  let @a = "Ox\<Esc>jAy\<Esc>kdd"
   edit +/^$ test_undo.vim
   normal @au
   call assert_equal(0, &modified)
@@ -348,7 +348,7 @@
   normal @au
   call assert_equal(0, &modified)
   only!
-  let @a=''
+  let @a = ''
 endfunc
 
 " This used to cause an illegal memory access
@@ -410,3 +410,35 @@
   exe "norm."
   bwipe!
 endfunc
+
+funct Test_undofile()
+  " Test undofile() without setting 'undodir'.
+  if has('persistent_undo')
+    call assert_equal(fnamemodify('.Xundofoo.un~', ':p'), undofile('Xundofoo'))
+  else
+    call assert_equal('', undofile('Xundofoo'))
+  endif
+  call assert_equal('', undofile(''))
+
+  " Test undofile() with 'undodir' set to to an existing directory.
+  call mkdir('Xundodir')
+  set undodir=Xundodir
+  let cwd = getcwd()
+  if has('win32')
+    " Replace windows drive such as C:... into C%...
+    let cwd = substitute(cwd, '^\([A-Z]\):', '\1%', 'g')
+  endif
+  let cwd = substitute(cwd . '/Xundofoo', '/', '%', 'g')
+  if has('persistent_undo')
+    call assert_equal('Xundodir/' . cwd, undofile('Xundofoo'))
+  else
+    call assert_equal('', undofile('Xundofoo'))
+  endif
+  call assert_equal('', undofile(''))
+  call delete('Xundodir', 'd')
+
+  " Test undofile() with 'undodir' set to a non-existing directory.
+  call assert_equal('', undofile('Xundofoo'))
+
+  set undodir&
+endfunc
diff --git a/src/version.c b/src/version.c
index 8b06ac9..dce336e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    25,
+/**/
     24,
 /**/
     23,
