diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 8a583f718eb15569bb79e51dc3085efdc44a2d30..79fc483990b98cc616bd1f87362a3ab08a43a8fa 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -5880,7 +5880,7 @@ static struct ast_frame *sip_read(struct ast_channel *ast)
 	}
 
 	/* Only allow audio through if they sent progress with SDP, or if the channel is actually answered */
-	if (p->invitestate != INV_EARLY_MEDIA && ast->_state != AST_STATE_UP) {
+	if (fr->frametype == AST_FRAME_VOICE && p->invitestate != INV_EARLY_MEDIA && ast->_state != AST_STATE_UP) {
 		fr = &ast_null_frame;
 	}