diff --git a/formats/format_wav_gsm.c b/formats/format_wav_gsm.c
index f50aa472107e0bcab51a70a250076c0840e90468..9fcc3c9cebfd837284a72de9f2782c2e14bb9491 100755
--- a/formats/format_wav_gsm.c
+++ b/formats/format_wav_gsm.c
@@ -390,6 +390,11 @@ static struct ast_filestream *wav_rewrite(int fd, char *comment)
 static void wav_close(struct ast_filestream *s)
 {
 	char zero = 0;
+	if (ast_mutex_lock(&wav_lock)) {
+		ast_log(LOG_WARNING, "Unable to lock wav list\n");
+		return;
+	}
+	glistcnt--;
 	ast_mutex_unlock(&wav_lock);
 	ast_update_use_count();
 	/* Pad to even length */