diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index c2de538..5837a03 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -5036,6 +5036,39 @@
 	vc_conn.done;
 }
 
+/* Make sure that CRCX ACK contains a valid listen address (see OS#5242) */
+private function f_TC_ipa_crcx_ack_addr(charstring id) runs on ConnHdlr {
+	var OCT4 bind_ip := f_inet_addr("192.168.1.1");
+	var PortNumber bind_port := 16811;
+	var RSL_Message crcx_ack;
+
+	crcx_ack := f_rsl_transceive_ret(ts_RSL_IPA_CRCX(g_chan_nr, bind_ip, bind_port),
+					 tr_RSL_IPA_CRCX_ACK(g_chan_nr, ?, ?, ?),
+					 "IPA CRCX ACK");
+	var HostName bts_bind_ip := f_inet_ntoa(crcx_ack.ies[2].body.ipa_local_ip);
+	if (match(bts_bind_ip, "0.0.0.0")) {
+		setverdict(fail, "CRCX ACK indicates nonsense addr ", bts_bind_ip);
+	}
+
+	var uint16_t conn_id := crcx_ack.ies[1].body.ipa_conn_id;
+	f_rsl_transceive(ts_RSL_IPA_DLCX(g_chan_nr, conn_id),
+			 tr_RSL_IPA_DLCX_ACK(g_chan_nr, ?, ?),
+			 "IPA DLCX ACK");
+}
+testcase TC_ipa_crcx_ack_addr() runs on test_CT {
+	var ConnHdlrPars pars;
+	var ConnHdlr vc_conn;
+	f_init();
+
+	pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM1)));
+	vc_conn := f_start_handler(refers(f_TC_ipa_crcx_ack_addr), pars);
+	vc_conn.done;
+
+	pars := valueof(t_Pars(ts_RslChanNr_Lm(5, 0), ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1)));
+	vc_conn := f_start_handler(refers(f_TC_ipa_crcx_ack_addr), pars);
+	vc_conn.done;
+}
+
 
 /***********************************************************************
  * PCU Socket related tests
@@ -8558,6 +8591,7 @@
 	execute( TC_ipa_crcx_mdcx_dlcx_not_active() );
 	execute( TC_ipa_crcx_mdcx_mdcx_dlcx_not_active() );
 	execute( TC_ipa_crcx_sdcch_not_active() );
+	execute( TC_ipa_crcx_ack_addr() );
 
 	if (mp_pcu_socket != "") {
 		execute( TC_paging_imsi_200percent_with_ps() );
