diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 55f63d2d250334d6cfd23e715393abf913033cca..9d755c684d2322214703cdacde958f05a6913d0b 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -17343,7 +17343,7 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req,
 	parse_ok_contact(p, req);
 
 	build_contact(p);
-	if (gotdest) {
+	if (strcmp(event, "message-summary") && gotdest) {
 		transmit_response(p, "404 Not Found", req);
 		p->needdestroy = 1;
 		if (authpeer)