diff --git a/src/testdir/test_profile.vim b/src/testdir/test_profile.vim
index 23d148e..5f15d51 100644
--- a/src/testdir/test_profile.vim
+++ b/src/testdir/test_profile.vim
@@ -4,16 +4,13 @@
 endif
 
 func Test_profile_func()
-  if !has('unix')
-    return
-  endif
   let lines = [
     \ "func! Foo1()",
     \ "endfunc",
     \ "func! Foo2()",
-    \ "  let count = 100",
-    \ "  while count > 0",
-    \ "    let count = count - 1",
+    \ "  let l:count = 100",
+    \ "  while l:count > 0",
+    \ "    let l:count = l:count - 1",
     \ "  endwhile",
     \ "endfunc",
     \ "func! Foo3()",
@@ -35,47 +32,59 @@
     \ ]
 
   call writefile(lines, 'Xprofile_func.vim')
-  let a = system(v:progpath
-    \ . " -u NONE -i NONE --noplugin"
-    \ . " -c 'profile start Xprofile_func.log'"
-    \ . " -c 'profile func Foo*'"
-    \ . " -c 'so Xprofile_func.vim'"
-    \ . " -c 'qall!'")
+  call system(v:progpath
+    \ . ' -es -u NONE -U NONE -i NONE --noplugin'
+    \ . ' -c "profile start Xprofile_func.log"'
+    \ . ' -c "profile func Foo*"'
+    \ . ' -c "so Xprofile_func.vim"'
+    \ . ' -c "qall!"')
+  call assert_equal(0, v:shell_error)
+
   let lines = readfile('Xprofile_func.log')
 
-  call assert_equal(28, len(lines))
-
-  call assert_equal('FUNCTION  Foo1()', lines[0])
-  call assert_equal('Called 2 times',   lines[1])
-  call assert_equal('FUNCTION  Foo2()', lines[7])
-  call assert_equal('Called 1 time',    lines[8])
-
   " - Foo1() is called 3 times but should be reported as called twice
   "   since one call is in between "profile pause" .. "profile continue".
-  " - Foo2() should come before Foo1() since Foo1() does much more work.\
+  " - Foo2() should come before Foo1() since Foo1() does much more work.
   " - Foo3() is not reported because function is deleted.
   " - Unlike Foo3(), Foo2() should not be deleted since there is a check
   "   for v:profiling.
   " - Bar() is not reported since it does not match "profile func Foo*".
-  call assert_equal('FUNCTIONS SORTED ON TOTAL TIME',        lines[18])
-  call assert_equal('count  total (s)   self (s)  function', lines[19])
-  call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',        lines[20])
-  call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',        lines[21])
-  call assert_equal('',                                      lines[22])
-  call assert_equal('FUNCTIONS SORTED ON SELF TIME',         lines[23])
-  call assert_equal('count  total (s)   self (s)  function', lines[24])
-  call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',        lines[25])
-  call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',        lines[26])
-  call assert_equal('',                                      lines[27])
+  call assert_equal(28, len(lines))
+
+  call assert_equal('FUNCTION  Foo1()',                            lines[0])
+  call assert_equal('Called 2 times',                              lines[1])
+  call assert_match('^Total time:\s\+\d\+\.\d\+$',                 lines[2])
+  call assert_match('^ Self time:\s\+\d\+\.\d\+$',                 lines[3])
+  call assert_equal('',                                            lines[4])
+  call assert_equal('count  total (s)   self (s)',                 lines[5])
+  call assert_equal('',                                            lines[6])
+  call assert_equal('FUNCTION  Foo2()',                            lines[7])
+  call assert_equal('Called 1 time',                               lines[8])
+  call assert_match('^Total time:\s\+\d\+\.\d\+$',                 lines[9])
+  call assert_match('^ Self time:\s\+\d\+\.\d\+$',                 lines[10])
+  call assert_equal('',                                            lines[11])
+  call assert_equal('count  total (s)   self (s)',                 lines[12])
+  call assert_match('^\s*1\s\+.*\slet l:count = 100$',             lines[13])
+  call assert_match('^\s*101\s\+.*\swhile l:count > 0$',           lines[14])
+  call assert_match('^\s*100\s\+.*\s  let l:count = l:count - 1$', lines[15])
+  call assert_match('^\s*100\s\+.*\sendwhile$',                    lines[16])
+  call assert_equal('',                                            lines[17])
+  call assert_equal('FUNCTIONS SORTED ON TOTAL TIME',              lines[18])
+  call assert_equal('count  total (s)   self (s)  function',       lines[19])
+  call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',              lines[20])
+  call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',              lines[21])
+  call assert_equal('',                                            lines[22])
+  call assert_equal('FUNCTIONS SORTED ON SELF TIME',               lines[23])
+  call assert_equal('count  total (s)   self (s)  function',       lines[24])
+  call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',              lines[25])
+  call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',              lines[26])
+  call assert_equal('',                                            lines[27])
 
   call delete('Xprofile_func.vim')
   call delete('Xprofile_func.log')
 endfunc
 
 func Test_profile_file()
-  if !has('unix')
-    return
-  endif
   let lines = [
     \ 'func! Foo()',
     \ 'endfunc',
@@ -87,13 +96,14 @@
     \ ]
 
   call writefile(lines, 'Xprofile_file.vim')
-  let a = system(v:progpath
-    \ . " -u NONE -i NONE --noplugin"
-    \ . " -c 'profile start Xprofile_file.log'"
-    \ . " -c 'profile file Xprofile_file.vim'"
-    \ . " -c 'so Xprofile_file.vim'"
-    \ . " -c 'so Xprofile_file.vim'"
-    \ . " -c 'qall!'")
+  call system(v:progpath
+    \ . ' -es -u NONE -U NONE -i NONE --noplugin'
+    \ . ' -c "profile start Xprofile_file.log"'
+    \ . ' -c "profile file Xprofile_file.vim"'
+    \ . ' -c "so Xprofile_file.vim"'
+    \ . ' -c "so Xprofile_file.vim"'
+    \ . ' -c "qall!"')
+  call assert_equal(0, v:shell_error)
 
   let lines = readfile('Xprofile_file.log')
 
diff --git a/src/version.c b/src/version.c
index 28c6776..b0f1c22 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    196,
+/**/
     195,
 /**/
     194,
