diff --git a/src/abis_nm.c b/src/abis_nm.c
index e842452..395dc9e 100644
--- a/src/abis_nm.c
+++ b/src/abis_nm.c
@@ -1435,7 +1435,7 @@
 	DEBUGP(DNM, "Set BTS Attr (bts=%d)\n", bts->nr);
 
 	oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE);
-	fill_om_fom_hdr(oh, attr_len, NM_MT_SET_BTS_ATTR, NM_OC_BTS, bts->nr, 0xff, 0xff);
+	fill_om_fom_hdr(oh, attr_len, NM_MT_SET_BTS_ATTR, NM_OC_BTS, bts->bts_nr, 0xff, 0xff);
 	cur = msgb_put(msg, attr_len);
 	memcpy(cur, attr, attr_len);
 
@@ -1453,7 +1453,7 @@
 
 	oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE);
 	fill_om_fom_hdr(oh, attr_len, NM_MT_SET_RADIO_ATTR, NM_OC_RADIO_CARRIER,
-			trx->bts->nr, trx->nr, 0xff);
+			trx->bts->bts_nr, trx->nr, 0xff);
 	cur = msgb_put(msg, attr_len);
 	memcpy(cur, attr, attr_len);
 
diff --git a/src/bsc_hack.c b/src/bsc_hack.c
index 1066729..533f40c 100644
--- a/src/bsc_hack.c
+++ b/src/bsc_hack.c
@@ -383,9 +383,9 @@
 				abis_nm_set_bts_attr(bts, nanobts_attr_bts,
 							sizeof(nanobts_attr_bts));
 				abis_nm_opstart(bts, NM_OC_BTS,
-						bts->nr, 0xff, 0xff);
+						bts->bts_nr, 0xff, 0xff);
 				abis_nm_chg_adm_state(bts, NM_OC_BTS,
-						      bts->nr, 0xff, 0xff,
+						      bts->bts_nr, 0xff, 0xff,
 						      NM_STATE_UNLOCKED);
 			}
 			break;
@@ -395,9 +395,9 @@
 				abis_nm_set_radio_attr(trx, nanobts_attr_radio,
 							sizeof(nanobts_attr_radio));
 				abis_nm_opstart(trx->bts, NM_OC_RADIO_CARRIER,
-						trx->bts->nr, trx->nr, 0xff);
+						trx->bts->bts_nr, trx->nr, 0xff);
 				abis_nm_chg_adm_state(trx->bts, NM_OC_RADIO_CARRIER,
-						      trx->bts->nr, trx->nr, 0xff,
+						      trx->bts->bts_nr, trx->nr, 0xff,
 						      NM_STATE_UNLOCKED);
 			}
 			break;
@@ -410,9 +410,9 @@
 				else
 					abis_nm_set_channel_attr(ts, NM_CHANC_TCHFull);
 				abis_nm_opstart(trx->bts, NM_OC_CHANNEL,
-						trx->bts->nr, trx->nr, ts->nr);
+						trx->bts->bts_nr, trx->nr, ts->nr);
 				abis_nm_chg_adm_state(trx->bts, NM_OC_CHANNEL,
-						      trx->bts->nr, trx->nr, ts->nr,
+						      trx->bts->bts_nr, trx->nr, ts->nr,
 						      NM_STATE_UNLOCKED);
 			}
 			break;
@@ -420,12 +420,12 @@
 			trx = container_of(obj, struct gsm_bts_trx, bb_transc);
 			if (new_state->availability == 5) {
 				abis_nm_ipaccess_msg(trx->bts, 0xe0, NM_OC_BASEB_TRANSC,
-						     trx->bts->nr, trx->nr, 0xff,
+						     trx->bts->bts_nr, trx->nr, 0xff,
 						     nanobts_attr_e0, sizeof(nanobts_attr_e0));
 				abis_nm_opstart(trx->bts, NM_OC_BASEB_TRANSC, 
-						trx->bts->nr, trx->nr, 0xff);
+						trx->bts->bts_nr, trx->nr, 0xff);
 				abis_nm_chg_adm_state(trx->bts, NM_OC_BASEB_TRANSC, 
-							trx->bts->nr, trx->nr, 0xff,
+							trx->bts->bts_nr, trx->nr, 0xff,
 							NM_STATE_UNLOCKED);
 			}
 			break;
