diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index fcb6b26..da2e41a 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -6864,6 +6864,9 @@
 runs on test_CT return FHParamsTrx {
 	var FHParamsTrx fhp;
 
+	/* TODO: generate a random ARFCN, including ARFCN 0 */
+	fhp.arfcn := 1;
+
 	for (var integer tn := 0; tn < 8; tn := tn + 1) {
 		if (not match(tn, tr_tn)) {
 			fhp.ts[tn].enabled := false;
@@ -6901,7 +6904,7 @@
 		tr_maio_hsn := tr_HsnMaio(fhp.ts[tn].hsn, fhp.ts[tn].maio);
 		tr_cd := tr_ChanDescH1(cd.chan_nr, tr_maio_hsn);
 	} else {
-		tr_cd := tr_ChanDescH0(cd.chan_nr);
+		tr_cd := tr_ChanDescH0(cd.chan_nr, fhp.arfcn);
 	}
 
 	if (not match(cd, tr_cd)) {
@@ -6945,6 +6948,9 @@
 		}
 	}
 
+	/* Take ARFCN of the TRX itself into account */
+	full_mask[fhp.arfcn] := '1'B;
+
 	/* Compose a bit-mask for the given timeslot number */
 	for (var integer i := 0; i < lengthof(fhp.ts[tn].ma); i := i + 1) {
 		slot_mask[fhp.ts[tn].ma[i]] := '1'B;
@@ -6978,6 +6984,8 @@
 	/* Enter the configuration node for the given BTS/TRX numbers */
 	f_vty_enter_cfg_trx(BSCVTY, bts_nr, trx_nr);
 
+	f_vty_transceive(BSCVTY, "arfcn " & int2str(fhp.arfcn));
+
 	for (var integer tn := 0; tn < lengthof(fhp.ts); tn := tn + 1) {
 		f_vty_transceive(BSCVTY, "timeslot " & int2str(tn));
 
@@ -7006,11 +7014,14 @@
 /* Disable frequency hopping on all timeslots */
 private function f_TC_fh_params_unset(in FHParamsTrx fhp,
 				      uint8_t bts_nr := 0,
-				      uint8_t trx_nr := 0)
+				      uint8_t trx_nr := 0,
+				      GsmArfcn arfcn := 871)
 runs on test_CT {
 	/* Enter the configuration node for the given BTS/TRX numbers */
 	f_vty_enter_cfg_trx(BSCVTY, bts_nr, trx_nr);
 
+	f_vty_transceive(BSCVTY, "arfcn " & int2str(arfcn));
+
 	for (var integer tn := 0; tn < lengthof(fhp.ts); tn := tn + 1) {
 		f_vty_transceive(BSCVTY, "timeslot " & int2str(tn));
 
