diff --git a/res/res_pjsip_nat.c b/res/res_pjsip_nat.c
index 483caa2d2900cd7f2e9aa8a2b373e1670dff6436..683ae611013e07102a8422d782bc79579e2e8c67 100644
--- a/res/res_pjsip_nat.c
+++ b/res/res_pjsip_nat.c
@@ -56,7 +56,7 @@ static int rewrite_route_set(pjsip_rx_data *rdata, pjsip_dialog *dlg)
 				break;
 			}
 		}
-	} else {
+	} else if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, &pjsip_register_method)) {
 		rr = pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_RECORD_ROUTE, NULL);
 	}