diff --git a/main/channel.c b/main/channel.c
index 784ea28447a0e427122fc0cd179e7b7e581c840d..3d6fae64d335afc9be2c46de71a0d605bdce2044 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -10845,6 +10845,7 @@ static struct ast_frame *suppress_framehook_event_cb(struct ast_channel *chan, s
 	if (suppress_frame) {
 		switch (frame->frametype) {
 		case AST_FRAME_VOICE:
+			ast_frfree(frame);
 			frame = &ast_null_frame;
 			break;
 		default: