diff --git a/src/testdir/test_hlsearch.vim b/src/testdir/test_hlsearch.vim
index db54ed4..8325841 100644
--- a/src/testdir/test_hlsearch.vim
+++ b/src/testdir/test_hlsearch.vim
@@ -37,6 +37,15 @@
 func Test_hlsearch_hangs()
   CheckFunction reltimefloat
 
+  " So, it turns out the Windows 7 implements TimerQueue timers differently
+  " and they can expire *before* the requested time has elapsed. So allow for
+  " the timeout occurring after 80 ms (5 * 16 (the typical clock tick)).
+  if has("win32")
+    let min_timeout = 0.08
+  else
+    let min_timeout = 0.1
+  endif
+
   " This pattern takes a long time to match, it should timeout.
   new
   call setline(1, ['aaa', repeat('abc ', 1000), 'ccc'])
@@ -45,7 +54,7 @@
   let @/ = '\%#=1a*.*X\@<=b*'
   redraw
   let elapsed = reltimefloat(reltime(start))
-  call assert_true(elapsed > 0.1)
+  call assert_true(elapsed > min_timeout)
   call assert_true(elapsed < 1.0)
   set nohlsearch redrawtime&
   bwipe!
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index e1a62bd..b354a2f 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1550,6 +1550,32 @@
   bwipe!
 endfunc
 
+func Test_search_timeout()
+  new
+  let pattern = '\%#=1a*.*X\@<=b*'
+  let search_timeout = 0.02
+  let slow_target_timeout = search_timeout * 15.0
+
+  for n in range(40, 400, 30)
+      call setline(1, ['aaa', repeat('abc ', n), 'ccc'])
+      let start = reltime()
+      call search(pattern, '', 0)
+      let elapsed = reltimefloat(reltime(start))
+      if elapsed > slow_target_timeout
+          break
+      endif
+  endfor
+  call assert_true(elapsed > slow_target_timeout)
+
+  let max_time = elapsed / 2.0
+  let start = reltime()
+  call search(pattern, '', 0, float2nr(search_timeout * 1000))
+  let elapsed = reltimefloat(reltime(start))
+  call assert_true(elapsed < max_time)
+
+  bwipe!
+endfunc
+
 func Test_search_display_pattern()
   new
   call setline(1, ['foo', 'bar', 'foobar'])
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index be2f458..82d5cbb 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -527,6 +527,15 @@
   CheckFunction reltimefloat
   CheckFeature syntax
 
+  " So, it turns out the Windows 7 implements TimerQueue timers differently
+  " and they can expire *before* the requested time has elapsed. So allow for
+  " the timeout occurring after 80 ms (5 * 16 (the typical clock tick)).
+  if has("win32")
+    let min_timeout = 0.08
+  else
+    let min_timeout = 0.1
+  endif
+
   " This pattern takes a long time to match, it should timeout.
   new
   call setline(1, ['aaa', repeat('abc ', 1000), 'ccc'])
@@ -535,7 +544,7 @@
   syn match Error /\%#=1a*.*X\@<=b*/
   redraw
   let elapsed = reltimefloat(reltime(start))
-  call assert_true(elapsed > 0.1)
+  call assert_true(elapsed > min_timeout)
   call assert_true(elapsed < 1.0)
 
   " second time syntax HL is disabled
@@ -549,7 +558,7 @@
   exe "normal \<C-L>"
   redraw
   let elapsed = reltimefloat(reltime(start))
-  call assert_true(elapsed > 0.1)
+  call assert_true(elapsed > min_timeout)
   call assert_true(elapsed < 1.0)
 
   set redrawtime&
@@ -642,7 +651,7 @@
 	\ "\tNote: asdf",
 	\ '}',
 	\ ], 'Xtest.c')
- 
+
   " This makes the default for 'background' use "dark", check that the
   " response to t_RB corrects it to "light".
   let $COLORFGBG = '15;0'
