diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index d392a71..e4601eb 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -353,11 +353,12 @@
 /* verify we get a CHAN_ACT after CHAN RQD */
 testcase TC_chan_act_noreply() runs on test_CT {
 	var BSSAP_N_UNITDATA_ind ud_ind;
+	var RSL_Message rsl_unused;
 
 	f_init(1);
 
 	IPA_RSL[0].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_CHAN_RQD('23'O, 23)));
-	f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
 	setverdict(pass);
 }
 
@@ -365,12 +366,13 @@
 testcase TC_chan_act_counter() runs on test_CT {
 	var BSSAP_N_UNITDATA_ind ud_ind;
 	var integer chreq_total;
+	var RSL_Message rsl_unused;
 
 	f_init(1);
 
 	chreq_total := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total");
 	IPA_RSL[0].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_CHAN_RQD('23'O, 23)));
-	f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
+	rsl_unused := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
 	f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total", chreq_total+1);
 
 	setverdict(pass);
@@ -479,7 +481,7 @@
 
 	/* expect 5xTCH/F to succeed */
 	for (i := 0; i < NUM_TCHF_PER_BTS + NUM_SDCCH_PER_BTS; i := i+1) {
-		f_chreq_act_ack('23'O, i);
+		var RslChannelNr chan_nr := f_chreq_act_ack('23'O, i);
 	}
 
 	IPA_RSL[0].clear;
@@ -1359,7 +1361,6 @@
 	[] IPA_RSL[0].receive { repeat }
 	[] T.timeout {
 		self.stop;
-		return false;
 		}
 	}
 
