diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 34e00ff389dd45a173ef9b2c5550cf1ef7588542..8b6aef7104450582ce9ae0ef1fcce639ae3840fc 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -5803,7 +5803,7 @@ static int sip_hangup(struct ast_channel *ast)
 				if (bridge) {
 					struct sip_pvt *q = bridge->tech_pvt;
 
-					if (IS_SIP_TECH(bridge->tech) && q) {
+					if (IS_SIP_TECH(bridge->tech) && q && q->rtp) {
 						ast_rtp_instance_set_stats_vars(bridge, q->rtp);
 					}
 				}
@@ -20656,7 +20656,7 @@ static int handle_request_bye(struct sip_pvt *p, struct sip_request *req)
 		if (bridge) {
 			struct sip_pvt *q = bridge->tech_pvt;
 
-			if (IS_SIP_TECH(bridge->tech) && q->rtp) {
+			if (IS_SIP_TECH(bridge->tech) && q && q->rtp) {
 				ast_rtp_instance_set_stats_vars(bridge, q->rtp);
 			}
 		}