diff --git a/src/xpdev/xpbeep.c b/src/xpdev/xpbeep.c
index 70393def94f9297655606f0ce8d175fb65c75aa9..7e1d2483c09af3f4d9b9a60dd966dbeef62fbd63 100644
--- a/src/xpdev/xpbeep.c
+++ b/src/xpdev/xpbeep.c
@@ -195,6 +195,8 @@ BOOL DLLCALL xptone(double freq, DWORD duration, enum WAVE_SHAPE shape)
 	int	i;
 	unsigned char	wave[S_RATE*15/2+1];
 
+	if(freq<17)
+		freq=17;
 	samples=S_RATE*duration/1000;
 	if(samples<=S_RATE/freq*2)
 		samples=S_RATE/freq*2;