diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 6e20afff3c1522c5c3e36fcbd7d4df5c724e279d..3d03892f78c8b546dda0c67e06906c7c7a01ac05 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -12405,9 +12405,7 @@ static int handle_request_notify(struct sip_pvt *p, struct sip_request *req, str
 		/* We don't understand this event. */
 		/* Here's room to implement incoming voicemail notifications :-) */
 		transmit_response(p, "489 Bad event", req);
-		if (!p->lastinvite) 
-			sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
-		return -1;
+		res = -1;
 	} else {
 		/* Save nesting depth for now, since there might be other events we will
 			support in the future */
@@ -12508,8 +12506,12 @@ static int handle_request_notify(struct sip_pvt *p, struct sip_request *req, str
 		
 		/* Confirm that we received this packet */
 		transmit_response(p, "200 OK", req);
-		return res;
 	};
+
+	if (!p->lastinvite)
+		sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
+
+	return res;
 }
 
 /*! \brief Handle incoming OPTIONS request */