diff --git a/codecs/codec_gsm.c b/codecs/codec_gsm.c
index 33f7884773857d1b524573e867096a8e63267926..659a3e89a799c9e75af32c278d96d95a6ab3cf9f 100644
--- a/codecs/codec_gsm.c
+++ b/codecs/codec_gsm.c
@@ -117,7 +117,7 @@ static int gsmtolin_framein(struct ast_trans_pvt *pvt, struct ast_frame *f)
 
 	for (x=0; x < f->datalen; x += flen) {
 		unsigned char data[2 * GSM_FRAME_LEN];
-		char *src;
+		unsigned char *src;
 		int len;
 		if (flen == MSGSM_FRAME_LEN) {
 			len = 2*GSM_SAMPLES;