diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index d9ad45b..6412022 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -35,6 +35,7 @@
 import from L1CTL_Types all;
 import from LAPDm_Types all;
 import from LAPDm_RAW_PT all;
+import from Native_Functions all;
 import from Osmocom_CTRL_Adapter all;
 import from Osmocom_CTRL_Functions all;
 
@@ -5435,6 +5436,55 @@
 	}
 }
 
+/* Verify IPv4 NSVC address in the INFO.ind message (version >= 10) */
+testcase TC_pcu_socket_nsvc_ipv4() runs on test_CT {
+	f_init_vty_bsc();
+	f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127");
+	f_vty_transceive(BSCVTY, "drop bts connection 0 oml");
+
+	f_init();
+
+	var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr;
+	if (not ischosen(remote_addr.v10)) {
+		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+					log2str("Unexpected remote_addr: ", remote_addr));
+	}
+
+	if (remote_addr.v10.addr_type[0] != PCUIF_ADDR_TYPE_IPV4) {
+		setverdict(fail, "Received address family is not IPv4");
+	}
+
+	if (substr(remote_addr.v10.addr[0], 0, 4) != f_inet_addr("127.127.127.127")) {
+		setverdict(fail, "Unexpected address: ", remote_addr.v10.addr[0]);
+	}
+
+	setverdict(pass);
+}
+
+/* Verify IPv4 NSVC address in the INFO.ind message (version >= 10) */
+testcase TC_pcu_socket_nsvc_ipv6() runs on test_CT {
+	f_init_vty_bsc();
+	f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip fd00::ca:ff:ee");
+
+	f_init();
+
+	var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr;
+	if (not ischosen(remote_addr.v10)) {
+		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail,
+					log2str("Unexpected remote_addr: ", remote_addr));
+	}
+
+	if (remote_addr.v10.addr_type[0] != PCUIF_ADDR_TYPE_IPV6) {
+		setverdict(fail, "Received address family is not IPv6");
+	}
+
+	if (remote_addr.v10.addr[0] != f_inet6_addr("fd00::ca:ff:ee")) {
+		setverdict(fail, "Unexpected address: ", remote_addr.v10.addr[0]);
+	}
+
+	setverdict(pass);
+}
+
 /***********************************************************************
  * Osmocom Style Dynamic Timeslot Support
  ***********************************************************************/
@@ -6839,6 +6889,8 @@
 
 		if (PCUIF_Types.mp_pcuif_version >= 10) {
 			execute( TC_pcu_info_ind_fh_params() );
+			execute( TC_pcu_socket_nsvc_ipv4() );
+			execute( TC_pcu_socket_nsvc_ipv6() );
 		}
 	} else {
 		log("PCU socket path not available, skipping PCU tests");
