diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 75eb892..5714fbf 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -1357,18 +1357,32 @@
 	log("f_mt_call_complete DONE");
 }
 
-function f_expect_paging_tmsi(template OCT4 tmsi := *)
+function f_expect_paging_tmsi(template OCT4 tmsi := *, float Tval := 4.0)
 runs on BSC_ConnHdlr {
-	if (g_pars.ran_is_geran) {
-		BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi, tmsi));
-	} else {
-		BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi)));
+	timer T;
+
+	T.start(Tval);
+	alt {
+	[g_pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi, tmsi));
+	[g_pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(?, *)) {
+		setverdict(fail, "Paging message doesn't match expectations");
+		mtc.stop;
+		}
+	[not g_pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi)));
+	[not g_pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(?, ?)) {
+		setverdict(fail, "Paging message doesn't match expectations");
+		mtc.stop;
+		}
+	[] T.timeout {
+		setverdict(fail, "Timeout waiting for paging");
+		mtc.stop;
+		}
 	}
 }
 
-function f_expect_paging()
+function f_expect_paging(float Tval := 4.0)
 runs on BSC_ConnHdlr {
-	f_expect_paging_tmsi(g_pars.tmsi);
+	f_expect_paging_tmsi(g_pars.tmsi, Tval);
 }
 
 function f_mt_call_establish(inout CallParameters cpars)
