diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index f59c3ba6265eb0108b5af94a8e2ae2af64e2d798..74c59822e924f1d0ed32e306e61a3d95302ad50d 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -5338,7 +5338,7 @@ static int respprep(struct sip_request *resp, struct sip_pvt *p, const char *msg
 			snprintf(contact, sizeof(contact), "%s;expires=%d", p->our_contact, p->expiry);
 			add_header(resp, "Contact", contact);	/* Not when we unregister */
 		}
-	} else if (p->our_contact[0]) {
+	} else if (msg[0] != '4' && p->our_contact[0]) {
 		add_header(resp, "Contact", p->our_contact);
 	}
 	return 0;