diff --git a/src/libbsc/bsc_vty.c b/src/libbsc/bsc_vty.c
index 6d01109..d5c8733 100644
--- a/src/libbsc/bsc_vty.c
+++ b/src/libbsc/bsc_vty.c
@@ -871,6 +871,13 @@
 	}
 }
 
+static inline void print_all_trx(struct vty *vty, const struct gsm_bts *bts)
+{
+	uint8_t trx_nr;
+	for (trx_nr = 0; trx_nr < bts->num_trx; trx_nr++)
+		trx_dump_vty(vty, gsm_bts_trx_num(bts, trx_nr));
+}
+
 DEFUN(show_trx,
       show_trx_cmd,
       "show trx [<0-255>] [<0-255>]",
@@ -880,7 +887,6 @@
 {
 	struct gsm_network *net = gsmnet_from_vty(vty);
 	struct gsm_bts *bts = NULL;
-	struct gsm_bts_trx *trx;
 	int bts_nr, trx_nr;
 
 	if (argc >= 1) {
@@ -900,26 +906,17 @@
 				VTY_NEWLINE);
 			return CMD_WARNING;
 		}
-		trx = gsm_bts_trx_num(bts, trx_nr);
-		trx_dump_vty(vty, trx);
+		trx_dump_vty(vty, gsm_bts_trx_num(bts, trx_nr));
 		return CMD_SUCCESS;
 	}
 	if (bts) {
 		/* print all TRX in this BTS */
-		for (trx_nr = 0; trx_nr < bts->num_trx; trx_nr++) {
-			trx = gsm_bts_trx_num(bts, trx_nr);
-			trx_dump_vty(vty, trx);
-		}
+		print_all_trx(vty, bts);
 		return CMD_SUCCESS;
 	}
 
-	for (bts_nr = 0; bts_nr < net->num_bts; bts_nr++) {
-		bts = gsm_bts_num(net, bts_nr);
-		for (trx_nr = 0; trx_nr < bts->num_trx; trx_nr++) {
-			trx = gsm_bts_trx_num(bts, trx_nr);
-			trx_dump_vty(vty, trx);
-		}
-	}
+	for (bts_nr = 0; bts_nr < net->num_bts; bts_nr++)
+		print_all_trx(vty, gsm_bts_num(net, bts_nr));
 
 	return CMD_SUCCESS;
 }
diff --git a/src/libbsc/chan_alloc.c b/src/libbsc/chan_alloc.c
index ad24a1e..07248fb 100644
--- a/src/libbsc/chan_alloc.c
+++ b/src/libbsc/chan_alloc.c
@@ -36,11 +36,8 @@
 
 static bool ts_is_usable(const struct gsm_bts_trx_ts *ts)
 {
-	/* FIXME: How does this behave for BS-11 ? */
-	if (is_ipaccess_bts(ts->trx->bts)) {
-		if (!nm_is_running(&ts->mo.nm_state))
-			return false;
-	}
+	if (!trx_is_usable(ts->trx))
+		return false;
 
 	/* If a TCH/F_PDCH TS is busy changing, it is already taken or not
 	 * yet available. */
