diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index a82728a..102c30e 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -147,7 +147,7 @@
 		}
 	}
 	setverdict(fail, "Only 2 Connections per EP!");
-	self.stop;
+	mtc.stop;
 }
 
 /* Helper function to pick a specific connection by its cid. Since we reach out
@@ -160,7 +160,7 @@
 		}
 	}
 	setverdict(fail, "No Connection for ID ", cid);
-	self.stop;
+	mtc.stop;
 }
 
 /* altstep for handling of IPACC media related commands. Activated by as_Media() to test
@@ -189,7 +189,7 @@
 		b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_CONN_ID, ie);
 		if (g_media.bts.conn_id != ie.ipa_conn_id) {
 			setverdict(fail, "IPA MDCX for unknown ConnId", rsl);
-			self.stop;
+			mtc.stop;
 		}
 		/* mandatory */
 		b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_IP, ie);
@@ -233,7 +233,7 @@
 		b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_CONN_ID, ie);
 		if (g_media.bts1.conn_id != ie.ipa_conn_id) {
 			setverdict(fail, "IPA MDCX for unknown ConnId", rsl);
-			self.stop;
+			mtc.stop;
 		}
 		/* mandatory */
 		b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_IP, ie);
@@ -269,7 +269,7 @@
 		if (match(mgcp_cmd.line.ep, t_MGCP_EP_wildcard)) {
 			if (cid != 0) {
 				setverdict(fail, "MGCP wildcard EP only works in first CRCX");
-				self.stop;
+				mtc.stop;
 			}
 			/* we keep the endpoint name allocated during MediaState_init */
 		} else {
@@ -575,12 +575,12 @@
 	}
 	else {
 		setverdict(fail, "Unknown ChDesc!");
-		self.stop;
+		mtc.stop;
 	}
 
 	if (ch_desc.octet3 and4b '10'O == '10'O) {
 		setverdict(fail, "No support for Hopping");
-		self.stop;
+		mtc.stop;
 	} else {
 		var OCT2 concat := ch_desc.octet3 & ch_desc.octet4;
 		arfcn := oct2int(concat);
@@ -670,7 +670,7 @@
 			repeat;
 		} else {
 			setverdict(fail, "Unexpected L3 received", l3);
-			self.stop;
+			mtc.stop;
 		}
 		}
 	[st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_REL_REQ(st.old_chan_nr, tr_RslLinkID_DCCH(0))) {
@@ -955,7 +955,7 @@
 	}
 	log("g_media ", g_media);
 	if (not isbound(bssap)) {
-		self.stop;
+		mtc.stop;
 	}
 
 	/* When the BSC detects that LCLS is possible it will cross the
@@ -1019,7 +1019,7 @@
 			repeat;
 		} else {
 			setverdict(fail, "Unexpected L3 received", l3);
-			self.stop;
+			mtc.stop;
 		}
 		}
 	[st.rr_ho_cmpl_seen] as_Media_ipacc();
