diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 6902744..439b234 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1301,15 +1301,13 @@
 	f_wait_oml(bts_idx, "connected", 5.0);
 
 	/* Set up BTS with VTY commands: */
-	if (Misc_Helpers.f_osmo_repo_is("nightly")) {
-		f_vty_enter_cfg_bts(BSCVTY, bts_idx);
-		if (g_osmux_enabled_bts) {
-			f_vty_transceive(BSCVTY, "osmux on");
-		} else {
-			f_vty_transceive(BSCVTY, "osmux off");
-		}
-		f_vty_transceive(BSCVTY, "end");
+	f_vty_enter_cfg_bts(BSCVTY, bts_idx);
+	if (g_osmux_enabled_bts) {
+		f_vty_transceive(BSCVTY, "osmux on");
+	} else {
+		f_vty_transceive(BSCVTY, "osmux off");
 	}
+	f_vty_transceive(BSCVTY, "end");
 }
 
 function f_init_bts_and_check_sysinfo(integer bts_idx := 0,
@@ -3616,9 +3614,7 @@
 
 	/* read counters before paging */
 	paging_attempted_bsc := f_ctrl_get_ratectr_abs(IPA_CTRL, "bsc", 0, "paging:attempted");
-	if (Misc_Helpers.f_osmo_repo_is("nightly")) { /* osmo-bsc > 1.8.0 */
-		paging_expired_bsc := f_ctrl_get_ratectr_abs(IPA_CTRL, "bsc", 0, "paging:expired");
-	}
+	paging_expired_bsc := f_ctrl_get_ratectr_abs(IPA_CTRL, "bsc", 0, "paging:expired");
 	for (i := 0; i < NUM_BTS; i := i+1) {
 		paging_attempted_bts[i] := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", i, "paging:attempted");
 		paging_expired_bts[i] := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", i, "paging:expired");
@@ -3635,9 +3631,7 @@
 
 	/* assume that 12s later the paging on all BTSs have expired and hence incremented by 1 */
 	f_sleep(12.0);
-	if (Misc_Helpers.f_osmo_repo_is("nightly")) { /* osmo-bsc > 1.8.0 */
-		f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bsc", 0, "paging:expired", paging_expired_bsc+1);
-	}
+	f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bsc", 0, "paging:expired", paging_expired_bsc+1);
 	for (i := 0; i < NUM_BTS; i := i+1) {
 		f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", i, "paging:expired",
 						paging_expired_bts[i]+1);
@@ -12454,12 +12448,9 @@
 	execute( TC_chan_alloc_algo_ass_dynamic() );
 
 	/* MGW pool */
-	/* TODO: this conditional canbe dropped once osmo-bsc >1.10.0 is released: */
-	if (Misc_Helpers.f_osmo_repo_is("nightly")) {
-		execute( TC_mgwpool_all_used() );
-		execute( TC_mgwpool_blocked_not_used() );
-		execute( TC_mgwpool_pin_bts() );
-	}
+	execute( TC_mgwpool_all_used() );
+	execute( TC_mgwpool_blocked_not_used() );
+	execute( TC_mgwpool_pin_bts() );
 
 	execute( TC_ho_meas_rep_multi_band() );
 
