diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 0279cf94803db774139046619ec0099a826b711c..ea43be3612e15ec9476d5eea8a7d5ba117775e46 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -16733,7 +16733,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
 				/* Respond to normal re-invite */
 				if (sendok) {
 					/* If this is not a re-invite or something to ignore - it's critical */
-					transmit_response_with_sdp(p, "200 OK", req, (reinvite || req->ignore) ?  XMIT_UNRELIABLE : XMIT_CRITICAL, p->session_modify == TRUE ? FALSE:TRUE); 
+					transmit_response_with_sdp(p, "200 OK", req, (reinvite ? XMIT_RELIABLE : (req->ignore ?  XMIT_UNRELIABLE : XMIT_CRITICAL)), p->session_modify == TRUE ? FALSE:TRUE); 
 				}
 			}
 			p->invitestate = INV_TERMINATED;