diff --git a/apps/app_dial.c b/apps/app_dial.c
index f56f08907f7a5f452c4d0cf7731e20ef3e4291c6..8fe9fc43ad562ddcf7dbc1b92fef2426021e8382 100755
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -599,8 +599,8 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu
 			if (single && ((f->frametype == AST_FRAME_VOICE) || (f->frametype == AST_FRAME_DTMF)))  {
 				if (ast_write(outgoing->chan, f))
 					ast_log(LOG_WARNING, "Unable to forward voice\n");
-				ast_frfree(f);
 			}
+			ast_frfree(f);
 		}
 		if (!*to && (option_verbose > 2))
 			ast_verbose( VERBOSE_PREFIX_3 "Nobody picked up in %d ms\n", orig);