diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn
index f309575..f8d7483 100644
--- a/hlr/HLR_Tests.ttcn
+++ b/hlr/HLR_Tests.ttcn
@@ -425,15 +425,19 @@
 		}
 	[exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, ?)) -> value ret {
 		setverdict(fail, "Unexpected UL ERROR Cause");
+		mtc.stop;
 		}
 	[exp_fail] GSUP.receive(tr_GSUP_UL_RES(imsi)) -> value ret {
 		setverdict(fail, "Unexpected UL.res for unknown IMSI");
+		mtc.stop;
 		}
 	[exp_fail] GSUP.receive(tr_GSUP_ISD_REQ(imsi)) -> value ret {
 		setverdict(fail, "Unexpected ISD.req in error case");
+		mtc.stop;
 		}
 	[not exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, ?)) -> value ret {
 		setverdict(fail, "Unexpected UL ERROR");
+		mtc.stop;
 		}
 	[not exp_fail and not isd_done] GSUP.receive(tr_GSUP_ISD_REQ(imsi, msisdn)) -> value ret {
 		GSUP.send(ts_GSUP_ISD_RES(imsi));
@@ -540,12 +544,14 @@
 	alt {
 	[] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?, ?)) -> value ret {
 		setverdict(fail, "Unexpected PROC_SS ERROR Cause");
+		mtc.stop;
 		}
 	[not exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, omit)) -> value ret {
 		setverdict(pass);
 		}
 	[exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, omit)) -> value ret {
 		setverdict(fail, "Unexpected PROC_SS.res without SS IE");
+		mtc.stop;
 		}
 /*
 	[exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, decmatch facility)) -> value ret {
@@ -562,9 +568,13 @@
 			setverdict(pass);
 		} else {
 			setverdict(fail, "Unexpected PROC_SS.res with non-matching facility IE");
+			mtc.stop;
 		}
 		}
-	[] GSUP.receive { repeat; }
+	[] GSUP.receive {
+		setverdict(fail, "Unexpected GSUP");
+		mtc.stop;
+		}
 	[] T.timeout {
 		setverdict(fail, "Timeout waiting for PROC_SS response");
 		self.stop;
@@ -593,18 +603,22 @@
 		}
 	[exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value pdu {
 		setverdict(fail, "Unexpected CHECK IMEI ERROR Cause: ", pdu);
+		mtc.stop;
 		}
 	[exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value pdu {
 		setverdict(fail, "Unexpected CHECK IMEI RES instead of ERR");
+		mtc.stop;
 		}
 	[not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value pdu {
 		setverdict(fail, "Unexpected CHECK IMEI ERROR");
+		mtc.stop;
 		}
 	[not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, result)) -> value pdu {
 		setverdict(pass);
 		}
 	[not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value pdu {
 		setverdict(fail, "Unexpected CHECK IMEI RES");
+		mtc.stop;
 		}
 	[] GSUP.receive { repeat; }
 	[] T.timeout {
