diff --git a/src/xpdev/xpbeep.c b/src/xpdev/xpbeep.c
index cfc813dd88d2b14e59bb9995dce2f8627ea5b694..d7979c80fc92f46deee03f0836c50f1d3df2df3d 100644
--- a/src/xpdev/xpbeep.c
+++ b/src/xpdev/xpbeep.c
@@ -925,7 +925,7 @@ do_xp_play_sample(const unsigned char *sampo, size_t sz, int *freed)
 				SLEEP(1);
 		}
 		free(wh[curr_wh].lpData);
-		wh[curr_wh].lpData=samp;
+		wh[curr_wh].lpData=(LPSTR)samp;
 		wh[curr_wh].dwBufferLength=sz;
 		if(waveOutPrepareHeader(waveOut, &wh[curr_wh], sizeof(wh[curr_wh]))==MMSYSERR_NOERROR) {
 			if(waveOutWrite(waveOut, &wh[curr_wh], sizeof(wh[curr_wh]))==MMSYSERR_NOERROR) {