diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index f8c5359f3f4774b84aaec9b56382cdbb4cc412f0..7ff26243b4b4489c3e096a9293c0118c3c264daa 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -864,6 +864,7 @@ static int play_and_wait(struct ast_channel *chan, char *fn)
 	if (d)
 		return d;
 	d = ast_waitstream(chan, AST_DIGIT_ANY);
+	ast_stopstream(chan);
 	return d;
 }
 
@@ -894,7 +895,6 @@ static int play_and_record(struct ast_channel *chan, char *playfile, char *recor
 			d = ast_waitstream(chan,"");
 		if (d < 0)
 			return -1;
-		ast_stopstream(chan);
 	}
 	
 	fmts = ast_strdupa(fmt);