diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn
index 77ebbcd..4b4bbd9 100644
--- a/sgsn/SGSN_Tests.ttcn
+++ b/sgsn/SGSN_Tests.ttcn
@@ -1506,15 +1506,26 @@
 }
 
 /* Transceive given 'payload' as MT message from GTP -> OsmoSGSN -> Gb */
-private function f_gtpu_xceive_mt(inout PdpActPars apars, octetstring payload, integer ran_index := 0)
+private function f_gtpu_xceive_mt(inout PdpActPars apars, octetstring payload, integer ran_index := 0, boolean expect_fwd := true)
 runs on BSSGP_ConnHdlr {
+	timer T := 5.0;
 	/* Send PDU via GTP from our simulated GGSN to the SGSN */
 	f_gtpu_send(apars, payload);
+	T.start;
 	/* Expect PDU via BSSGP/LLC on simulated PCU from SGSN */
 	alt {
 	[] as_xid(apars, ran_index);
 	//[] BSSGP[ran_index].receive(tr_BD_SNDCP(apars.sapi, tr_SN_UD(apars.nsapi, payload)));
-	[] BSSGP[ran_index].receive(tr_SN_UD(apars.nsapi, payload));
+	[expect_fwd] BSSGP[ran_index].receive(tr_SN_UD(apars.nsapi, payload));
+	[expect_fwd] T.timeout {
+		setverdict(fail, "Timeout waiting for GTP-U to appear on BSSGP");
+		mtc.stop;
+		}
+	[not expect_fwd] BSSGP[ran_index].receive(tr_SN_UD(apars.nsapi, payload)) {
+		setverdict(fail, "GTP-U forwarded to BSSGP but not expected")
+		mtc.stop;
+		}
+	[not expect_fwd] T.timeout {}
 	}
 }
 
