diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c
index 03d44e0..7b0c3e6 100644
--- a/openbsc/src/libbsc/chan_alloc.c
+++ b/openbsc/src/libbsc/chan_alloc.c
@@ -514,28 +514,7 @@
 	return NULL;
 }
 
-static int chan_is_tch(struct gsm_bts_trx_ts *ts)
-{
-	switch (ts->pchan) {
-		case GSM_PCHAN_TCH_F:
-		case GSM_PCHAN_TCH_H:
-			return 1;
-		case GSM_PCHAN_TCH_F_PDCH:
-		case GSM_PCHAN_TCH_F_TCH_H_PDCH:
-			if (ts->dyn.pchan_is == GSM_PCHAN_TCH_F ||
-					ts->dyn.pchan_is == GSM_PCHAN_TCH_H)
-				return 1;
-			else
-				return 0;
-		default:
-			return 0;
-	}
-}
-
-
-
-void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts,
-		   int only_count_tch)
+void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts)
 {
 	struct gsm_bts_trx *trx;
 
@@ -557,9 +536,6 @@
 			if (!nm_is_running(&ts->mo.nm_state))
 				continue;
 
-			if (only_count_tch && !chan_is_tch(ts))
-				continue;
-
 			subslots = ts_subslots(ts);
 			for (j = 0; j < subslots; j++) {
 				struct gsm_lchan *lchan = &ts->lchan[j];
@@ -585,5 +561,6 @@
 	memset(pl, 0, sizeof(*pl));
 
 	llist_for_each_entry(bts, &net->bts_list, list)
-		bts_chan_load(pl, bts, 0);
+		bts_chan_load(pl, bts);
 }
+
