diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 55e7a376288f51b5abbf15018f125e4fb33809fe..6e20afff3c1522c5c3e36fcbd7d4df5c724e279d 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -11489,6 +11489,12 @@ static void handle_response_refer(struct sip_pvt *p, int resp, char *rest, struc
 	char *auth = "Proxy-Authenticate";
 	char *auth2 = "Proxy-Authorization";
 
+	/* If no refer structure exists, then do nothing */
+	if (!p->refer) {
+		ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
+		return;
+	}
+
 	switch (resp) {
 	case 202:   /* Transfer accepted */
 		/* We need  to do something here */