diff --git a/codecs/codec_g723_1.c b/codecs/codec_g723_1.c
index d33ba878334c28f395c912a59c738e3a76734176..89d2be760467bf51bef5ec6398a5067ce6dd50ea 100755
--- a/codecs/codec_g723_1.c
+++ b/codecs/codec_g723_1.c
@@ -7,7 +7,7 @@
  * it is covered with patents, and in spite of statements to the contrary,
  * the "technology" is extremely expensive to license.
  * 
- * Copyright (C) 1999, Adtran Inc. and Linux Support Services, LLC
+ * Copyright (C) 1999, Mark Spencer
  *
  * Mark Spencer <markster@linux-support.net>
  *
@@ -99,6 +99,8 @@ static struct ast_translator_pvt *g723tolin_new()
 		Init_Decod(&tmp->dec);
 	    Init_Dec_Cng(&tmp->dec);
 		tmp->tail = 0;
+		localusecnt++;
+		ast_update_use_count();
 	}
 	return (struct ast_translator_pvt *)tmp;
 }
@@ -144,6 +146,8 @@ static struct ast_translator_pvt *lintog723_new()
    	   		Init_Vad(&tmp->cod);
         	Init_Cod_Cng(&tmp->cod);
     	 }
+		localusecnt++;
+		ast_update_use_count();
 		tmp->tail = 0;
 	}
 	return (struct ast_translator_pvt *)tmp;
@@ -291,6 +295,8 @@ static struct ast_frame *lintog723_frameout(struct ast_translator_pvt *pvt)
 static void g723_destroy(struct ast_translator_pvt *pvt)
 {
 	free(pvt);
+	localusecnt--;
+	ast_update_use_count();
 }
 
 static struct ast_translator g723tolin =
diff --git a/codecs/codec_gsm.c b/codecs/codec_gsm.c
index 05ef8d657c7ba0a6150d06682ba5ac27e0b938bf..169371230b3d27ed87e910f0e2a587ca3611f98e 100755
--- a/codecs/codec_gsm.c
+++ b/codecs/codec_gsm.c
@@ -6,7 +6,7 @@
  * The GSM code is from TOAST.  Copyright information for that package is available
  * in  the GSM directory.
  * 
- * Copyright (C) 1999, Adtran Inc. and Linux Support Services, LLC
+ * Copyright (C) 1999, Mark Spencer
  *
  * Mark Spencer <markster@linux-support.net>
  *
@@ -65,6 +65,7 @@ static struct ast_translator_pvt *gsm_new()
 			tmp = NULL;
 		}
 		tmp->tail = 0;
+		localusecnt++;
 	}
 	return tmp;
 }
@@ -90,8 +91,8 @@ static struct ast_frame *gsmtolin_sample()
 	f.frametype = AST_FRAME_VOICE;
 	f.subclass = AST_FORMAT_GSM;
 	f.datalen = sizeof(gsm_slin_ex);
-	/* All frames are 30 ms long */
-	f.timelen = 30;
+	/* All frames are 20 ms long */
+	f.timelen = 20;
 	f.mallocd = 0;
 	f.offset = 0;
 	f.src = __PRETTY_FUNCTION__;
@@ -156,7 +157,7 @@ static int lintogsm_framein(struct ast_translator_pvt *tmp, struct ast_frame *f)
 	   is too old, then we should overwrite it entirely, otherwise we can
 	   get artifacts of earlier talk that do not belong */
 	if (tmp->tail + f->datalen < sizeof(tmp->buf) / 2) {
-		memcpy(tmp->buf + tmp->tail, f->data, f->datalen);
+		memcpy((tmp->buf + tmp->tail), f->data, f->datalen);
 		tmp->tail += f->datalen/2;
 	} else {
 		ast_log(LOG_WARNING, "Out of buffer space\n");
@@ -184,7 +185,7 @@ static struct ast_frame *lintogsm_frameout(struct ast_translator_pvt *tmp)
 	tmp->tail -= 160;
 	/* Move the data at the end of the buffer to the front */
 	if (tmp->tail)
-		memmove(tmp->buf, tmp->buf + 160 * 2, tmp->tail * 2);
+		memmove(tmp->buf, tmp->buf + 160, tmp->tail * 2);
 #if 0
 	/* Save a sample frame */
 	{ static int samplefr = 0;
@@ -203,6 +204,7 @@ static struct ast_frame *lintogsm_frameout(struct ast_translator_pvt *tmp)
 static void gsm_destroy_stuff(struct ast_translator_pvt *pvt)
 {
 	free(pvt);
+	localusecnt--;
 }
 
 static struct ast_translator gsmtolin =
diff --git a/formats/Makefile b/formats/Makefile
index e9872c613986141dbc05075d141f64a0bf44d8d7..f981e8de208f85788d181f940e93e0978a8e665e 100755
--- a/formats/Makefile
+++ b/formats/Makefile
@@ -3,7 +3,7 @@
 # 
 # Makefile for file format modules
 #
-# Copyright (C) 1999, Adtran Inc. and Linux Support Services, LLC
+# Copyright (C) 1999, Mark Spencer
 #
 # Mark Spencer <markster@linux-support.net>
 #
@@ -11,7 +11,7 @@
 # the GNU General Public License
 #
 
-FORMAT_LIBS=format_g723.so format_wav.so format_mp3.so # format_wav_gsm.so
+FORMAT_LIBS=format_g723.so format_wav.so format_mp3.so format_wav_gsm.so format_gsm.so
 
 GSMLIB=../codecs/gsm/lib/libgsm.a
 
@@ -28,8 +28,5 @@ clean:
 format_wav.so : format_wav.o
 	$(CC) -shared -Xlinker -x -o $@ $< -laudiofile
 
-format_wav_gsm.so : format_wav_gsm.o
-	$(CC) -shared -Xlinker -x -o $@ $< $(LIBGSM)
-
 install: all
 	for x in $(FORMAT_LIBS); do $(INSTALL) -m 755 $$x $(MODULES_DIR) ; done