diff --git a/res/res_pjsip_nat.c b/res/res_pjsip_nat.c
index 4ba56ab4c7dec5143d0bee0971233d57740373a2..654e51ba8961f574c04f75a8fb8ee51ba0f45c37 100644
--- a/res/res_pjsip_nat.c
+++ b/res/res_pjsip_nat.c
@@ -62,7 +62,7 @@ static pj_bool_t handle_rx_message(struct ast_sip_endpoint *endpoint, pjsip_rx_d
 	}
 
 	if (endpoint->nat.force_rport) {
-		rdata->msg_info.via->rport_param = 0;
+		rdata->msg_info.via->rport_param = rdata->pkt_info.src_port;
 	}
 
 	return PJ_FALSE;