diff --git a/dlls/winmm/wineoss/audio.c b/dlls/winmm/wineoss/audio.c
index b570a487cb721c4325ee0ceb80a588eb2dbda9c7..0e821d6156a4d95269a966818072f420f8298e3e 100644
--- a/dlls/winmm/wineoss/audio.c
+++ b/dlls/winmm/wineoss/audio.c
@@ -608,7 +608,7 @@ static BOOL OSS_WaveOutInit(OSS_DEVICE* ossdev)
                 rc=ioctl(ossdev->fd, SNDCTL_DSP_SPEED, &arg);
                 TRACE("DSP_SPEED: rc=%d returned %d for %dx%dx%d\n",
                       rc,arg,win_std_rates[r],win_std_oss_fmts[f],c+1);
-                if (rc==0 && NEAR_MATCH(arg,win_std_rates[r]))
+                if (rc==0 && arg!=0 && NEAR_MATCH(arg,win_std_rates[r]))
                     ossdev->out_caps.dwFormats|=win_std_formats[f][c][r];
             }
         }