diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index 7f2d6c0..d4073d1 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -222,6 +222,8 @@
 type record MgwResponse {
 	integer resp,
 	HostName mgw_rtp_ip,
+	/* if set, used after first received MDCX: */
+	HostName mgw_rtp_ip_mdcx optional,
 	PortNumber mgw_rtp_port,
 	MgcpConnectionId mgcp_connection_id
 }
@@ -250,12 +252,14 @@
 	mgw_conn_ran := {
 		resp := 1,
 		mgw_rtp_ip := "127.1.2.1",
+		mgw_rtp_ip_mdcx := omit,
 		mgw_rtp_port := 10000,
 		mgcp_connection_id := '11111'H
 	},
 	mgw_conn_cn := {
 		resp := 1,
 		mgw_rtp_ip := "127.1.2.2",
+		mgw_rtp_ip_mdcx := omit,
 		mgw_rtp_port := 20000,
 		mgcp_connection_id := '22222'H
 	},
@@ -1271,9 +1275,16 @@
 	interleave {
 	/* Expect MDCX with IP/port from RAB Assignment Response */
 	[] MGCP.receive(tr_MDCX(tr_SDP(pars.hnb_rtp_ip, pars.hnb_rtp_port))) -> value mgcp_cmd {
+		var HostName mgw_rtp_ip;
 		log("MDCX1", mgcp_cmd);
+		if (ispresent(pars.mgw_conn_ran.mgw_rtp_ip_mdcx)) {
+			mgw_rtp_ip := pars.mgw_conn_ran.mgw_rtp_ip_mdcx;
+		} else {
+			mgw_rtp_ip := pars.mgw_conn_ran.mgw_rtp_ip;
+		}
+
 		/* Verify SDP of MDCX */
-		var SDP_Message sdp := valueof(ts_SDP(pars.mgw_conn_ran.mgw_rtp_ip, pars.mgw_conn_ran.mgw_rtp_ip, hex2str(pars.mgcp_call_id), "42", pars.mgw_conn_ran.mgw_rtp_port,
+		var SDP_Message sdp := valueof(ts_SDP(mgw_rtp_ip, mgw_rtp_ip, hex2str(pars.mgcp_call_id), "42", pars.mgw_conn_ran.mgw_rtp_port,
 			{ int2str(pars.rtp_payload_type) }, { valueof(ts_SDP_rtpmap(pars.rtp_payload_type, pars.rtp_sdp_format)), valueof(ts_SDP_ptime(20)) } ));
 		var template MgcpResponse mgcp_rsp := ts_MDCX_ACK(mgcp_cmd.line.trans_id, pars.mgw_conn_ran.mgcp_connection_id, sdp);
 		MGCP.send(valueof(mgcp_rsp));
