diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index cf8e7ed..05a3349 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -781,7 +781,7 @@
 	[] T.timeout {
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout expecting " & id);
 		}
-	[not ignore_other] as_l1_sacch();
+	[not ignore_other] as_l1_sacch_loop();
 	[not ignore_other] as_meas_res();
 	[not ignore_other] as_l1_dcch_loop();
 	[not ignore_other] as_l1_tch_loop();
@@ -2166,7 +2166,7 @@
 }
 
 /* handle incoming downlink SACCH and respond with uplink SACCH (meas res) */
-private altstep as_l1_sacch() runs on ConnHdlr {
+private altstep as_l1_sacch_loop() runs on ConnHdlr {
 	var template (value) LapdmFrameAB lb;
 	var L1ctlMessage l1_dl;
 
@@ -2741,7 +2741,7 @@
 	timer T := 8.0;
 	T.start;
 	alt {
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] as_meas_res();
 	[] as_l1_dcch_loop();
 	[] as_l1_tch_loop();
@@ -3039,7 +3039,7 @@
 	T.start;
 	var RSL_Message rsl;
 	alt {
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] L1CTL.receive { repeat; }
 	[] RSL.receive(tr_RSL_MEAS_RES(g_chan_nr, ?, ?, ?)) -> value rsl {
 		if (rsl.ies[3].body.bs_power.power_level == level) {
@@ -8290,7 +8290,7 @@
 	[] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(g_chan_nr)) -> value l1_dl {
 		setverdict(fail, "Rx unexpected TRAFFIC.ind: ", l1_dl);
 		}
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] T.timeout {
 		setverdict(fail, "Timeout waiting for TRAFFIC.ind");
 		}
@@ -8404,7 +8404,7 @@
 			   "expected (", payload, ")");
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
 		}
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] L1CTL.receive { repeat; }
 	[] Td.timeout {
 		setverdict(fail, "Timeout waiting for Downlink speech frames");
@@ -8417,7 +8417,7 @@
 	Tu.start(2.0);
 	alt {
 	[] as_l1_tch_loop();
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] RTPEM_DATA.receive(PDU_RTP:?) -> value rtp_pdu {
 		if (rtp_pdu.data != payload)
 			{ repeat; }
@@ -8522,7 +8522,7 @@
 			   "expected (", exp_rtp_pl, ")");
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
 		}
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] L1CTL.receive { repeat; }
 	[] Td.timeout {
 		setverdict(fail, "Timeout waiting for Downlink speech frames");
@@ -8538,7 +8538,7 @@
 	Tu.start(2.0);
 	alt {
 	[] as_l1_tch_loop();
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] OsmuxEM_DATA.receive(osmux_pdu_exp) -> value osmux_pdu {
 		var boolean matched := false;
 		for (var integer i := 0; i < osmux_pdu.osmux_amr.header.ctr + 1; i := i + 1) {
@@ -8659,7 +8659,7 @@
 		log("FACCH received: ", ddata);
 		repeat;
 		}
-	[] as_l1_sacch();
+	[] as_l1_sacch_loop();
 	[] L1CTL.receive { repeat; }
 	[] Td.timeout {
 		setverdict(fail, "Timeout waiting for matching Downlink data frame");
