diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 6b9f39a14bb5ea68dbe5032ab4af2620f093fd06..372d8d942221f42eaf88a443aac19cdbe79e20b1 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -8611,7 +8611,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
 		p->jointcapability = ast_codec_choose(&p->prefs, p->jointcapability, 1);
 	}
 
-	if (p->jointcapability & AST_FORMAT_T140RED) {
+	if (p->trtp && (p->jointcapability & AST_FORMAT_T140RED)) {
 		p->red = 1;
 		ast_rtp_red_init(p->trtp, 300, red_data_pt, 2);
 	} else {