diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index b33f000..3fb2a86 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -2085,9 +2085,9 @@
 		}
 
 		/* Send MO message: RSL -> BSSAP */
-		f_mo_l3_transceive(link_id, dlci, l3);
+		f_mo_l3_transceive(RSL, link_id, dlci, l3);
 		/* Send MT message: BSSAP -> RSL */
-		f_mt_l3_transceive(link_id, dlci, l3);
+		f_mt_l3_transceive(RSL, link_id, dlci, l3);
 	}
 }
 testcase TC_tch_dlci_link_id_sapi() runs on test_CT {
@@ -4546,13 +4546,14 @@
 	f_shutdown_helper();
 }
 
-private function f_mo_l3_transceive(template (value) RslLinkId link_id := ts_RslLinkID_DCCH(0),
+private function f_mo_l3_transceive(RSL_DCHAN_PT rsl := RSL,
+				    template (value) RslLinkId link_id := ts_RslLinkID_DCCH(0),
 				    template (present) OCT1 dlci := ?,
 				    octetstring l3 := '0123456789'O)
 runs on MSC_ConnHdlr {
 	/* The old lchan and conn should still be active. See that arbitrary L3
 	 * is still going through. */
-	RSL.send(ts_RSL_DATA_IND(g_chan_nr, link_id, l3));
+	rsl.send(ts_RSL_DATA_IND(g_chan_nr, link_id, l3));
 	var template PDU_BSSAP exp_data := {
 		    discriminator := '1'B,
 		    spare := '0000000'B,
@@ -4566,7 +4567,8 @@
 	setverdict(pass);
 }
 
-private function f_mt_l3_transceive(template (present) RslLinkId link_id := tr_RslLinkID_DCCH(0),
+private function f_mt_l3_transceive(RSL_DCHAN_PT rsl := RSL,
+				    template (present) RslLinkId link_id := tr_RslLinkID_DCCH(0),
 				    template (value) OCT1 dlci := '00'O,
 				    octetstring l3 := '0123456789'O)
 runs on MSC_ConnHdlr {
@@ -4579,7 +4581,7 @@
 			dtap := l3
 		}
 	});
-	RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, link_id, l3));
+	rsl.receive(tr_RSL_DATA_REQ(g_chan_nr, link_id, l3));
 	setverdict(pass);
 }
 
