diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index a493a69..d04b0c7 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -289,6 +289,12 @@
 	struct gsm_nm_state nm_state;
 };
 
+struct gsm_bts_gprs_nsvc {
+	struct gsm_bts *bts;
+	int id;
+	struct gsm_nm_state nm_state;
+};
+
 /* One BTS */
 struct gsm_bts {
 	/* list header in net->bts_list */
@@ -356,6 +362,17 @@
 			struct gsm_envabtse envabtse[4];
 		} bs11;
 	};
+
+	/* Not entirely sure how ip.access specific this is */
+	struct {
+		struct {
+			struct gsm_nm_state nm_state;
+		} nse;
+		struct {
+			struct gsm_nm_state nm_state;
+		} cell;
+		struct gsm_bts_gprs_nsvc nsvc[2];
+	} gprs;
 	
 	/* transceivers */
 	int num_trx;
diff --git a/openbsc/src/abis_nm.c b/openbsc/src/abis_nm.c
index 369eaf6..b5f10bd 100755
--- a/openbsc/src/abis_nm.c
+++ b/openbsc/src/abis_nm.c
@@ -656,6 +656,17 @@
 			return NULL;
 		nm_state = &bts->bs11.envabtse[obj_inst->trx_nr].nm_state;
 		break;
+	case NM_OC_GPRS_NSE:
+		nm_state = &bts->gprs.nse.nm_state;
+		break;
+	case NM_OC_GPRS_CELL:
+		nm_state = &bts->gprs.cell.nm_state;
+		break;
+	case NM_OC_GPRS_NSVC:
+		if (obj_inst->trx_nr > ARRAY_SIZE(bts->gprs.nsvc))
+			return NULL;
+		nm_state = &bts->gprs.nsvc[obj_inst->trx_nr].nm_state;
+		break;
 	}
 	return nm_state;
 }
@@ -695,6 +706,17 @@
 	case NM_OC_SITE_MANAGER:
 		obj = &bts->site_mgr;
 		break;
+	case NM_OC_GPRS_NSE:
+		obj = &bts->gprs.nse;
+		break;
+	case NM_OC_GPRS_CELL:
+		obj = &bts->gprs.cell;
+		break;
+	case NM_OC_GPRS_NSVC:
+		if (obj_inst->trx_nr > ARRAY_SIZE(bts->gprs.nsvc))
+			return NULL;
+		obj = &bts->gprs.nsvc[obj_inst->trx_nr];
+		break;
 	}
 	return obj;
 }
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index 6767c3f..de9f4b9 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -139,6 +139,7 @@
 			      u_int8_t tsc, u_int8_t bsic)
 {
 	struct gsm_bts *bts = talloc(net, struct gsm_bts);
+	int i;
 
 	if (!bts)
 		return NULL;
@@ -153,6 +154,11 @@
 	INIT_LLIST_HEAD(&bts->trx_list);
 	bts->ms_max_power = 15;	/* dBm */
 
+	for (i = 0; i < ARRAY_SIZE(bts->gprs.nsvc); i++) {
+		bts->gprs.nsvc[i].bts = bts;
+		bts->gprs.nsvc[i].id = i;
+	}
+
 	/* create our primary TRX */
 	bts->c0 = gsm_bts_trx_alloc(bts);
 	if (!bts->c0) {
