diff --git a/dlls/winmm/tests/wave.c b/dlls/winmm/tests/wave.c
index b2b3d7cc5cb4017b5df51df2be76b5b496eff261..22ada89c868eeef23521680d311878b4ad865640 100644
--- a/dlls/winmm/tests/wave.c
+++ b/dlls/winmm/tests/wave.c
@@ -789,13 +789,13 @@ static void wave_out_test_deviceOut(int device, double duration,
             }
         }
 
-        /* Check the sound duration was between -10% and +25% of the expected value */
+        /* Check the sound duration was between -10% and +35% of the expected value */
         end=GetTickCount();
         actual = (end - start) / 1000.0;
         if (winetest_debug > 1)
             trace("sound duration=%g ms\n",1000*actual);
         ok((actual > (0.9 * (duration+paused))) &&
-           (actual < (1.25 * (duration+paused))),
+           (actual < (1.35 * (duration+paused))),
            "The sound played for %g ms instead of %g ms\n",
            1000*actual,1000*(duration+paused));
         for (i = 0; i < headers; i++) {