diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index 0767331..ad95bff 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -1501,6 +1501,20 @@
 	f_cleanup();
 }
 
+/* DUMMY PAGING PS on PTP BVC */
+private function f_TC_dummy_paging_ps_ptp(charstring id) runs on BSSGP_ConnHdlr
+{
+	f_sgsn2pcu(ts_BSSGP_DUMMY_PAGING_PS(g_pars.imsi, omit),
+		   tr_BSSGP_DUMMY_PAGING_PS(g_pars.imsi, omit), use_sig := false);
+	f_pcu2sgsn(ts_BSSGP_DUMMY_PAGING_PS_RESP(g_pars.imsi, 1, 5),
+		   tr_BSSGP_DUMMY_PAGING_PS_RESP(g_pars.imsi, 1, 5), use_sig := false)
+}
+testcase TC_dummy_paging_ps_ptp() runs on test_CT {
+	f_init();
+	f_start_handlers(refers(f_TC_dummy_paging_ps_ptp), testcasename(), 11);
+	f_cleanup();
+}
+
 /* altstep for expecting BSSGP PDU on signaling BVC of given pcu_idx + storing in 'roi' */
 private altstep as_paging_sig_pcu(integer pcu_idx, template (present) PDU_BSSGP exp_rx, inout ro_integer roi)
 runs on BSSGP_ConnHdlr {
@@ -1735,6 +1749,20 @@
 	f_cleanup();
 }
 
+/* DUMMY PAGING PS on SIG BVC */
+private function f_TC_dummy_paging_ps_sig(charstring id) runs on BSSGP_ConnHdlr
+{
+	f_sgsn2pcu(ts_BSSGP_DUMMY_PAGING_PS(g_pars.imsi, omit),
+		   tr_BSSGP_DUMMY_PAGING_PS(g_pars.imsi, omit), use_sig := true);
+	f_pcu2sgsn(ts_BSSGP_DUMMY_PAGING_PS_RESP(g_pars.imsi, 1, 5),
+		   tr_BSSGP_DUMMY_PAGING_PS_RESP(g_pars.imsi, 1, 5), use_sig := true)
+}
+testcase TC_dummy_paging_ps_sig() runs on test_CT {
+	f_init();
+	f_start_handlers(refers(f_TC_dummy_paging_ps_sig), testcasename(), 11);
+	f_cleanup();
+}
+
 
 
 /***********************************************************************
@@ -2573,6 +2601,7 @@
 	execute( TC_paging_ps_ptp_bvci_unknown() );
 	execute( TC_paging_ps_reject_ptp_bvci() );
 	execute( TC_paging_ps_reject_ptp_bvci_imsi() );
+	execute( TC_dummy_paging_ps_ptp() );
 
 	/* PAGING-PS over SIG BVC */
 	execute( TC_paging_ps_sig_bss() );
@@ -2585,6 +2614,7 @@
 	execute( TC_paging_ps_sig_bvci_unknown() );
 	execute( TC_paging_ps_reject_sig_bvci() );
 	execute( TC_paging_ps_reject_sig_bvci_imsi() );
+	execute( TC_dummy_paging_ps_sig() );
 
 	/* PAGING-CS over PTP BVC */
 	execute( TC_paging_cs_ptp_bss() );
