diff --git a/include/osmocom/bsc/nm_common_fsm.h b/include/osmocom/bsc/nm_common_fsm.h
index b8b821f..a18da3a 100644
--- a/include/osmocom/bsc/nm_common_fsm.h
+++ b/include/osmocom/bsc/nm_common_fsm.h
@@ -91,3 +91,12 @@
 	NM_GPRS_NSE_ST_OP_ENABLED,
 };
 extern struct osmo_fsm nm_gprs_nse_fsm;
+
+/* GPRS Cell */
+enum nm_gprs_op_cell_states {
+	NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED,
+	NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY,
+	NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE,
+	NM_GPRS_CELL_ST_OP_ENABLED,
+};
+extern struct osmo_fsm nm_gprs_cell_fsm;
diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am
index e226206..eadb30e 100644
--- a/src/ipaccess/Makefile.am
+++ b/src/ipaccess/Makefile.am
@@ -60,6 +60,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(OSMO_LIBS) \
@@ -83,6 +84,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(OSMO_LIBS) \
diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am
index b1b2cc6..79fc164 100644
--- a/src/osmo-bsc/Makefile.am
+++ b/src/osmo-bsc/Makefile.am
@@ -81,6 +81,7 @@
 	nm_bb_transc_fsm.c \
 	nm_bts_sm_fsm.c \
 	nm_bts_fsm.c \
+	nm_gprs_cell_fsm.c \
 	nm_gprs_nse_fsm.c \
 	nm_channel_fsm.c \
 	nm_rcarrier_fsm.c \
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index 2c6b0f1..0c7fde9 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -149,6 +149,12 @@
 static int gsm_bts_talloc_destructor(struct gsm_bts *bts)
 {
 	bts->site_mgr->bts[0] = NULL;
+
+	if (bts->gprs.cell.mo.fi) {
+		osmo_fsm_inst_free(bts->gprs.cell.mo.fi);
+		bts->gprs.cell.mo.fi = NULL;
+	}
+
 	if (bts->mo.fi) {
 		osmo_fsm_inst_free(bts->mo.fi);
 		bts->mo.fi = NULL;
@@ -185,15 +191,17 @@
 	osmo_fsm_inst_update_id_f(bts->mo.fi, "bts%d", bts->nr);
 	gsm_mo_init(&bts->mo, bts, NM_OC_BTS, bts->nr, 0xff, 0xff);
 
-	memcpy(&bts->gprs.cell.timer, bts_cell_timer_default,
-		sizeof(bts->gprs.cell.timer));
-	gsm_mo_init(&bts->gprs.cell.mo, bts, NM_OC_GPRS_CELL,
-			bts->nr, 0xff, 0xff);
-	memcpy(&bts->gprs.cell.rlc_cfg, &rlc_cfg_default,
-		sizeof(bts->gprs.cell.rlc_cfg));
-
 	/* 3GPP TS 08.18, chapter 5.4.1: 0 is reserved for signalling */
 	bts->gprs.cell.bvci = 2;
+	memcpy(&bts->gprs.cell.timer, bts_cell_timer_default,
+		sizeof(bts->gprs.cell.timer));
+	memcpy(&bts->gprs.cell.rlc_cfg, &rlc_cfg_default,
+		sizeof(bts->gprs.cell.rlc_cfg));
+	bts->gprs.cell.mo.fi = osmo_fsm_inst_alloc(&nm_gprs_cell_fsm, bts,
+						   &bts->gprs.cell, LOGL_INFO, NULL);
+	osmo_fsm_inst_update_id_f(bts->gprs.cell.mo.fi, "gprs-cell%d", bts->nr);
+	gsm_mo_init(&bts->gprs.cell.mo, bts, NM_OC_GPRS_CELL,
+			bts->nr, 0xff, 0xff);
 
 	/* init statistics */
 	bts->bts_ctrs = rate_ctr_group_alloc(bts, &bts_ctrg_desc, bts->nr);
diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c
index 7d0a2c0..91c76f1 100644
--- a/src/osmo-bsc/bts_ipaccess_nanobts.c
+++ b/src/osmo-bsc/bts_ipaccess_nanobts.c
@@ -136,6 +136,7 @@
 	struct gsm_bts_trx_ts *ts;
 	struct gsm_gprs_nsvc *nsvc;
 	struct gsm_gprs_nse *nse;
+	struct gsm_gprs_cell *cell;
 
 	struct msgb *msgb;
 
@@ -151,6 +152,7 @@
 	    obj_class != NM_OC_RADIO_CARRIER &&
 	    obj_class != NM_OC_CHANNEL &&
 	    obj_class != NM_OC_GPRS_NSE &&
+	    obj_class != NM_OC_GPRS_CELL &&
 	    evt != S_NM_STATECHG_OPER)
 		return 0;
 
@@ -181,22 +183,8 @@
 		osmo_fsm_inst_dispatch(nse->mo.fi, NM_EV_STATE_CHG_REP, nsd);
 		break;
 	case NM_OC_GPRS_CELL:
-		bts = container_of(obj, struct gsm_bts, gprs.cell);
-		if (bts->gprs.mode == BTS_GPRS_NONE)
-			break;
-		if (new_state->availability == NM_AVSTATE_DEPENDENCY) {
-			msgb = nanobts_attr_cell_get(bts);
-			if (!msgb)
-				break;
-			abis_nm_ipaccess_set_attr(bts, obj_class, bts->bts_nr,
-						  0, 0xff, msgb->data,
-						  msgb->len);
-			msgb_free(msgb);
-			abis_nm_chg_adm_state(bts, obj_class, bts->bts_nr,
-					      0, 0xff, NM_STATE_UNLOCKED);
-			abis_nm_opstart(bts, obj_class, bts->bts_nr,
-					0, 0xff);
-		}
+		cell = obj;
+		osmo_fsm_inst_dispatch(cell->mo.fi, NM_EV_STATE_CHG_REP, nsd);
 		break;
 	case NM_OC_GPRS_NSVC:
 		nsvc = obj;
@@ -270,6 +258,9 @@
 	case NM_OC_GPRS_NSE:
 		osmo_fsm_inst_dispatch(bts->site_mgr->gprs.nse.mo.fi, NM_EV_SW_ACT_REP, NULL);
 		break;
+	case NM_OC_GPRS_CELL:
+		osmo_fsm_inst_dispatch(bts->gprs.cell.mo.fi, NM_EV_SW_ACT_REP, NULL);
+		break;
 	}
 	return 0;
 }
@@ -319,6 +310,9 @@
 	case NM_OC_GPRS_NSE:
 		osmo_fsm_inst_dispatch(bts->site_mgr->gprs.nse.mo.fi, NM_EV_OPSTART_ACK, NULL);
 		break;
+	case NM_OC_GPRS_CELL:
+		osmo_fsm_inst_dispatch(bts->gprs.cell.mo.fi, NM_EV_OPSTART_ACK, NULL);
+		break;
 	default:
 		break;
 	}
@@ -357,6 +351,9 @@
 	case NM_OC_GPRS_NSE:
 		osmo_fsm_inst_dispatch(bts->site_mgr->gprs.nse.mo.fi, NM_EV_OPSTART_NACK, NULL);
 		break;
+	case NM_OC_GPRS_CELL:
+		osmo_fsm_inst_dispatch(bts->gprs.cell.mo.fi, NM_EV_OPSTART_NACK, NULL);
+		break;
 	default:
 		break;
 	}
@@ -411,6 +408,7 @@
 	struct abis_om_fom_hdr *foh;
 	void *obj;
 	struct gsm_gprs_nse *nse;
+	struct gsm_gprs_cell *cell;
 
 	foh = (struct abis_om_fom_hdr *) (oh->data + 1 + idstrlen);
 	obj = gsm_objclass2obj(bts, foh->obj_class, &foh->obj_inst);
@@ -420,6 +418,10 @@
 		nse = obj;
 		osmo_fsm_inst_dispatch(nse->mo.fi, NM_EV_SET_ATTR_ACK, NULL);
 		break;
+	case NM_OC_GPRS_CELL:
+		cell = obj;
+		osmo_fsm_inst_dispatch(cell->mo.fi, NM_EV_SET_ATTR_ACK, NULL);
+		break;
 	default:
 		LOGPFOH(DNM, LOGL_ERROR, foh, "IPACC Set Attr Ack received on incorrect object class %d!\n", foh->obj_class);
 	}
@@ -549,6 +551,7 @@
 	osmo_fsm_inst_dispatch(bts->site_mgr->mo.fi, NM_EV_OML_DOWN, NULL);
 	osmo_fsm_inst_dispatch(bts->site_mgr->gprs.nse.mo.fi, NM_EV_OML_DOWN, NULL);
 	osmo_fsm_inst_dispatch(bts->mo.fi, NM_EV_OML_DOWN, NULL);
+	osmo_fsm_inst_dispatch(bts->gprs.cell.mo.fi, NM_EV_OML_DOWN, NULL);
 	gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL);
 
 	bts->ip_access.flags = 0;
diff --git a/src/osmo-bsc/nm_gprs_cell_fsm.c b/src/osmo-bsc/nm_gprs_cell_fsm.c
new file mode 100644
index 0000000..aac4ca3
--- /dev/null
+++ b/src/osmo-bsc/nm_gprs_cell_fsm.c
@@ -0,0 +1,369 @@
+/* NM GPRS Cell FSM */
+
+/* (C) 2020 by sysmocom - s.m.f.c. GmbH <info@sysmocom.de>
+ * Author: Pau Espin Pedrol <pespin@sysmocom.de>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <errno.h>
+#include <unistd.h>
+#include <inttypes.h>
+
+#include <osmocom/core/fsm.h>
+#include <osmocom/core/tdef.h>
+#include <osmocom/gsm/protocol/gsm_12_21.h>
+
+#include <osmocom/bsc/bts.h>
+#include <osmocom/bsc/signal.h>
+#include <osmocom/bsc/abis_nm.h>
+#include <osmocom/bsc/bts_ipaccess_nanobts_omlattr.h>
+#include <osmocom/bsc/nm_common_fsm.h>
+#include <osmocom/bsc/debug.h>
+
+#define X(s) (1 << (s))
+
+#define nm_gprs_cell_fsm_state_chg(fi, NEXT_STATE) \
+	osmo_fsm_inst_state_chg(fi, NEXT_STATE, 0, 0)
+
+//////////////////////////
+// FSM STATE ACTIONS
+//////////////////////////
+
+static void st_op_disabled_notinstalled_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
+{
+	struct gsm_gprs_cell *cell = (struct gsm_gprs_cell *)fi->priv;
+
+	cell->mo.set_attr_sent = false;
+	cell->mo.set_attr_ack_received = false;
+	cell->mo.adm_unlock_sent = false;
+	cell->mo.opstart_sent = false;
+}
+
+static void st_op_disabled_notinstalled(struct osmo_fsm_inst *fi, uint32_t event, void *data)
+{
+	struct nm_statechg_signal_data *nsd;
+	struct gsm_nm_state *new_state;
+
+	switch (event) {
+	case NM_EV_SW_ACT_REP:
+		break;
+	case NM_EV_STATE_CHG_REP:
+		nsd = (struct nm_statechg_signal_data *)data;
+		new_state = nsd->new_state;
+		if (new_state->operational == NM_OPSTATE_ENABLED) {
+			/* should not happen... */
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_ENABLED);
+			return;
+		}
+		switch (new_state->availability) { /* operational = DISABLED */
+		case NM_AVSTATE_DEPENDENCY:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY);
+			return;
+		case NM_AVSTATE_OFF_LINE:
+		case NM_AVSTATE_OK:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE);
+			return;
+		default:
+			return;
+		}
+	default:
+		OSMO_ASSERT(0);
+	}
+}
+
+static void configure_loop(struct gsm_gprs_cell *cell, struct gsm_nm_state *state, bool allow_opstart) {
+	struct msgb *msgb;
+	struct gsm_bts *bts = container_of(cell, struct gsm_bts, gprs.cell);
+
+	if (bts->gprs.mode == BTS_GPRS_NONE)
+		return;
+
+	if (!cell->mo.set_attr_sent && !cell->mo.set_attr_ack_received) {
+		cell->mo.set_attr_sent = true;
+		msgb = nanobts_attr_cell_get(bts);
+		OSMO_ASSERT(msgb);
+		abis_nm_ipaccess_set_attr(bts, NM_OC_GPRS_CELL, bts->bts_nr,
+					  0, 0xff, msgb->data, msgb->len);
+		msgb_free(msgb);
+	}
+
+	if (state->administrative != NM_STATE_UNLOCKED && !cell->mo.adm_unlock_sent) {
+		cell->mo.adm_unlock_sent = true;
+		abis_nm_chg_adm_state(bts, NM_OC_GPRS_CELL,
+				      bts->bts_nr, 0, 0xff,
+				      NM_STATE_UNLOCKED);
+	}
+
+	if (allow_opstart && state->administrative == NM_STATE_UNLOCKED &&
+	    cell->mo.set_attr_ack_received) {
+		if (!cell->mo.opstart_sent) {
+			cell->mo.opstart_sent = true;
+			abis_nm_opstart(bts, NM_OC_GPRS_CELL, bts->bts_nr, 0, 0xff);
+		}
+	}
+}
+
+static void st_op_disabled_dependency_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
+{
+	struct gsm_gprs_cell *cell = (struct gsm_gprs_cell *)fi->priv;
+	struct gsm_bts *bts = container_of(cell, struct gsm_bts, gprs.cell);
+
+	/* nanoBTS is broken, doesn't follow TS 12.21. Opstart MUST be sent
+	   during Dependency, so we simply move to OFFLINE state here to avoid
+	   duplicating code */
+	if (bts->site_mgr->peer_has_no_avstate_offline) {
+		nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE);
+		return;
+	}
+	configure_loop(cell, &cell->mo.nm_state, false);
+}
+
+static void st_op_disabled_dependency(struct osmo_fsm_inst *fi, uint32_t event, void *data)
+{
+	struct gsm_gprs_cell *cell = (struct gsm_gprs_cell *)fi->priv;
+	struct nm_statechg_signal_data *nsd;
+	struct gsm_nm_state *new_state;
+
+	switch (event) {
+	case NM_EV_SET_ATTR_ACK:
+		cell->mo.set_attr_ack_received = true;
+		cell->mo.set_attr_sent = false;
+		configure_loop(cell, &cell->mo.nm_state, false);
+		return;
+	case NM_EV_STATE_CHG_REP:
+		nsd = (struct nm_statechg_signal_data *)data;
+		new_state = nsd->new_state;
+		if (new_state->operational == NM_OPSTATE_ENABLED) {
+			/* should not happen... */
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_ENABLED);
+			return;
+		}
+		switch (new_state->availability) { /* operational = DISABLED */
+		case NM_AVSTATE_NOT_INSTALLED:
+		case NM_AVSTATE_POWER_OFF:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED);
+			return;
+		case NM_AVSTATE_OFF_LINE:
+		case NM_AVSTATE_OK:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE);
+			return;
+		case NM_AVSTATE_DEPENDENCY:
+			configure_loop(cell, new_state, false);
+			return;
+		default:
+			return;
+		}
+	default:
+		OSMO_ASSERT(0);
+	}
+}
+
+static void st_op_disabled_offline_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
+{
+	struct gsm_gprs_cell *cell = (struct gsm_gprs_cell *)fi->priv;
+
+	/* Warning: In here we may be acessing an state older than new_state
+	   from prev (syncrhonous) FSM state */
+	configure_loop(cell, &cell->mo.nm_state, true);
+}
+
+static void st_op_disabled_offline(struct osmo_fsm_inst *fi, uint32_t event, void *data)
+{
+	struct gsm_gprs_cell *cell = (struct gsm_gprs_cell *)fi->priv;
+	struct gsm_bts *bts = container_of(cell, struct gsm_bts, gprs.cell);
+	struct nm_statechg_signal_data *nsd;
+	struct gsm_nm_state *new_state;
+
+	switch (event) {
+	case NM_EV_SET_ATTR_ACK:
+		cell->mo.set_attr_ack_received = true;
+		cell->mo.set_attr_sent = false;
+		configure_loop(cell, &cell->mo.nm_state, true);
+		return;
+	case NM_EV_STATE_CHG_REP:
+		nsd = (struct nm_statechg_signal_data *)data;
+		new_state = nsd->new_state;
+		if (new_state->operational == NM_OPSTATE_ENABLED) {
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_ENABLED);
+			return;
+		}
+		switch (new_state->availability) { /* operational = DISABLED */
+		case NM_AVSTATE_NOT_INSTALLED:
+		case NM_AVSTATE_POWER_OFF:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED);
+			return;
+		case NM_AVSTATE_DEPENDENCY:
+			/* There's no point in moving back to Dependency, since it's broken
+			   and it acts actually as if it was in Offline state */
+			if (!bts->site_mgr->peer_has_no_avstate_offline) {
+				nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY);
+			} else {
+				/* Moreover, in nanoBTS we need to check here for tx
+				   Opstart since we may have gone Unlocked state
+				   in this event, which means Opstart may be txed here. */
+				configure_loop(cell, new_state, true);
+			}
+			return;
+		case NM_AVSTATE_OFF_LINE:
+		case NM_AVSTATE_OK:
+			configure_loop(cell, new_state, true);
+			return;
+		default:
+			return;
+		}
+	default:
+		OSMO_ASSERT(0);
+	}
+}
+
+static void st_op_enabled_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
+{
+	struct gsm_gprs_cell *cell = (struct gsm_gprs_cell *)fi->priv;
+
+	/* Reset state, we don't need it in this state and it will need to be
+	  reused as soon as we move back to Disabled */
+	cell->mo.opstart_sent = false;
+	cell->mo.adm_unlock_sent = false;
+	cell->mo.set_attr_ack_received = false;
+	cell->mo.set_attr_sent = false;
+}
+
+static void st_op_enabled(struct osmo_fsm_inst *fi, uint32_t event, void *data)
+{
+	struct nm_statechg_signal_data *nsd;
+	struct gsm_nm_state *new_state;
+
+	switch (event) {
+	case NM_EV_STATE_CHG_REP:
+		nsd = (struct nm_statechg_signal_data *)data;
+		new_state = nsd->new_state;
+		if (new_state->operational == NM_OPSTATE_ENABLED)
+			return;
+		switch (new_state->availability) { /* operational = DISABLED */
+		case NM_AVSTATE_NOT_INSTALLED:
+		case NM_AVSTATE_POWER_OFF:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED);
+			return;
+		case NM_AVSTATE_DEPENDENCY:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY);
+			return;
+		case NM_AVSTATE_OFF_LINE:
+		case NM_AVSTATE_OK:
+			nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE);
+			return;
+		default:
+			return;
+		}
+	default:
+		OSMO_ASSERT(0);
+	}
+}
+
+static void st_op_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data)
+{
+	struct gsm_gprs_cell *cell = (struct gsm_gprs_cell *)fi->priv;
+	struct gsm_bts *bts = container_of(cell, struct gsm_bts, gprs.cell);
+
+	switch (event) {
+	case NM_EV_OPSTART_ACK:
+	case NM_EV_OPSTART_NACK:
+		/* TODO: if on state OFFLINE and rx NACK, try again? */
+		cell->mo.opstart_sent = false;
+		break;
+	case NM_EV_FORCE_LOCK:
+		cell->mo.force_rf_lock = (bool)(intptr_t)data;
+		abis_nm_chg_adm_state(bts, NM_OC_GPRS_CELL,
+				      bts->bts_nr, 0, 0xff,
+				      cell->mo.force_rf_lock ? NM_STATE_LOCKED : NM_STATE_UNLOCKED);
+		break;
+	case NM_EV_OML_DOWN:
+		nm_gprs_cell_fsm_state_chg(fi, NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED);
+		break;
+	default:
+		OSMO_ASSERT(0);
+	}
+}
+
+static struct osmo_fsm_state nm_gprs_cell_fsm_states[] = {
+	[NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED] = {
+		.in_event_mask =
+			X(NM_EV_SW_ACT_REP) |
+			X(NM_EV_STATE_CHG_REP),
+		.out_state_mask =
+			X(NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY) |
+			X(NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE) |
+			X(NM_GPRS_CELL_ST_OP_ENABLED),
+		.name = "DISABLED_NOTINSTALLED",
+		.onenter = st_op_disabled_notinstalled_on_enter,
+		.action = st_op_disabled_notinstalled,
+	},
+	[NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY] = {
+		.in_event_mask =
+			X(NM_EV_STATE_CHG_REP) |
+			X(NM_EV_SET_ATTR_ACK),
+		.out_state_mask =
+			X(NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED) |
+			X(NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE) |
+			X(NM_GPRS_CELL_ST_OP_ENABLED),
+		.name = "DISABLED_DEPENDENCY",
+		.onenter = st_op_disabled_dependency_on_enter,
+		.action = st_op_disabled_dependency,
+	},
+	[NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE] = {
+		.in_event_mask =
+			X(NM_EV_STATE_CHG_REP) |
+			X(NM_EV_SET_ATTR_ACK),
+		.out_state_mask =
+			X(NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED) |
+			X(NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY) |
+			X(NM_GPRS_CELL_ST_OP_ENABLED),
+		.name = "DISABLED_OFFLINE",
+		.onenter = st_op_disabled_offline_on_enter,
+		.action = st_op_disabled_offline,
+	},
+	[NM_GPRS_CELL_ST_OP_ENABLED] = {
+	.in_event_mask =
+		X(NM_EV_STATE_CHG_REP),
+	.out_state_mask =
+		X(NM_GPRS_CELL_ST_OP_DISABLED_NOTINSTALLED) |
+		X(NM_GPRS_CELL_ST_OP_DISABLED_DEPENDENCY) |
+		X(NM_GPRS_CELL_ST_OP_DISABLED_OFFLINE),
+	.name = "ENABLED",
+	.onenter = st_op_enabled_on_enter,
+	.action = st_op_enabled,
+	},
+};
+
+struct osmo_fsm nm_gprs_cell_fsm = {
+	.name = "NM_GPRS_CELL_OP",
+	.states = nm_gprs_cell_fsm_states,
+	.num_states = ARRAY_SIZE(nm_gprs_cell_fsm_states),
+	.allstate_event_mask =
+		X(NM_EV_OPSTART_ACK) |
+		X(NM_EV_OPSTART_NACK) |
+		X(NM_EV_FORCE_LOCK) |
+		X(NM_EV_OML_DOWN),
+	.allstate_action = st_op_allstate,
+	.event_names = nm_fsm_event_names,
+	.log_subsys = DNM,
+};
+
+static __attribute__((constructor)) void nm_gprs_cell_fsm_init(void)
+{
+        OSMO_ASSERT(osmo_fsm_register(&nm_gprs_cell_fsm) == 0);
+}
diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am
index 5755258..03722ab 100644
--- a/src/utils/Makefile.am
+++ b/src/utils/Makefile.am
@@ -62,6 +62,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(LIBOSMOCORE_LIBS) \
@@ -141,6 +142,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(LIBOSMOCORE_LIBS) \
diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am
index daaca66..88477b7 100644
--- a/tests/abis/Makefile.am
+++ b/tests/abis/Makefile.am
@@ -38,6 +38,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(LIBOSMOCORE_LIBS) \
diff --git a/tests/acc/Makefile.am b/tests/acc/Makefile.am
index 44e5107..9ddb93d 100644
--- a/tests/acc/Makefile.am
+++ b/tests/acc/Makefile.am
@@ -38,6 +38,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(LIBOSMOCORE_LIBS) \
diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok
index 9a099f9..aebd2af 100644
--- a/tests/acc/acc_test.ok
+++ b/tests/acc/acc_test.ok
@@ -1,6 +1,7 @@
 ===test_acc_mgr_no_ramp===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -120,6 +121,7 @@
 pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -135,6 +137,7 @@
 ===test_acc_mgr_manual_ramp===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -384,6 +387,7 @@
 pcu_info_update(): t2=0x01 t3=0xb3, allowed: 2 3 6 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -399,6 +403,7 @@
 ===test_acc_mgr_rotate(true, 1)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -479,6 +484,7 @@
 pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -494,6 +500,7 @@
 ===test_acc_mgr_rotate(false, 1)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -571,6 +578,7 @@
 pcu_info_update(): t2=0x01 t3=0xff, allowed: 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -586,6 +594,7 @@
 ===test_acc_mgr_rotate(true, 2)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -666,6 +675,7 @@
 pcu_info_update(): t2=0x03 t3=0xfc, allowed: 0 1
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -681,6 +691,7 @@
 ===test_acc_mgr_rotate(false, 2)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -758,6 +769,7 @@
 pcu_info_update(): t2=0x00 t3=0xff, allowed: 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -773,6 +785,7 @@
 ===test_acc_mgr_rotate(true, 3)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -853,6 +866,7 @@
 pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -868,6 +882,7 @@
 ===test_acc_mgr_rotate(false, 3)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -945,6 +960,7 @@
 pcu_info_update(): t2=0x00 t3=0x7f, allowed: 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -960,6 +976,7 @@
 ===test_acc_mgr_rotate(true, 4)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1040,6 +1057,7 @@
 pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1055,6 +1073,7 @@
 ===test_acc_mgr_rotate(false, 4)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1132,6 +1151,7 @@
 pcu_info_update(): t2=0x00 t3=0x3f, allowed: 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1147,6 +1167,7 @@
 ===test_acc_mgr_rotate(true, 5)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1227,6 +1248,7 @@
 pcu_info_update(): t2=0x02 t3=0x3c, allowed: 0 1 6 7 8
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1242,6 +1264,7 @@
 ===test_acc_mgr_rotate(false, 5)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1319,6 +1342,7 @@
 pcu_info_update(): t2=0x00 t3=0x1f, allowed: 5 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1334,6 +1358,7 @@
 ===test_acc_mgr_rotate(true, 6)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1414,6 +1439,7 @@
 pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1429,6 +1455,7 @@
 ===test_acc_mgr_rotate(false, 6)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1506,6 +1533,7 @@
 pcu_info_update(): t2=0x00 t3=0x0f, allowed: 4 5 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1521,6 +1549,7 @@
 ===test_acc_mgr_rotate(true, 7)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1601,6 +1630,7 @@
 pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1616,6 +1646,7 @@
 ===test_acc_mgr_rotate(false, 7)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1693,6 +1724,7 @@
 pcu_info_update(): t2=0x00 t3=0x07, allowed: 3 4 5 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1708,6 +1740,7 @@
 ===test_acc_mgr_rotate(true, 8)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1788,6 +1821,7 @@
 pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1803,6 +1837,7 @@
 ===test_acc_mgr_rotate(false, 8)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1880,6 +1915,7 @@
 pcu_info_update(): t2=0x00 t3=0x03, allowed: 2 3 4 5 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1895,6 +1931,7 @@
 ===test_acc_mgr_rotate(false, 9)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -1972,6 +2009,7 @@
 pcu_info_update(): t2=0x00 t3=0x01, allowed: 1 2 3 4 5 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -1987,6 +2025,7 @@
 ===test_acc_ramp===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2033,6 +2072,7 @@
 pcu_info_update(): t2=0x00 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8 9
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2048,6 +2088,7 @@
 ===test_acc_ramp2===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2076,6 +2117,7 @@
 sys={15.000000}: select()
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2091,6 +2133,7 @@
 ===test_acc_ramp3===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2135,6 +2178,7 @@
 (bts=0) ACC: update ACC allowed active subset 0x15a -> 0x15a (active_len=5, ramp_len=10, adm_len=10, perm_len=5, rotation=off)
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2150,6 +2194,7 @@
 ===test_acc_ramp_up_rotate(0, 100, 100)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2250,6 +2295,7 @@
 sys={3250.000000}: select()
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2265,6 +2311,7 @@
 ===test_acc_ramp_up_rotate(0, 20, 50)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2365,6 +2412,7 @@
 sys={3250.000000}: select()
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2380,6 +2428,7 @@
 ===test_acc_ramp_up_rotate(70, 80, 90)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2480,6 +2529,7 @@
 sys={3250.000000}: select()
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2495,6 +2545,7 @@
 ===test_acc_ramp_updown_rotate(80, 90, 0, 100, 15)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2625,6 +2676,7 @@
 sys={7500.000000}: select(49): chan_load_avg=100
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2640,6 +2692,7 @@
 ===test_acc_ramp_updown_rotate(30, 50, 10, 100, 15)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2794,6 +2847,7 @@
 pcu_info_update(): t2=0x03 t3=0xf9, allowed: 1 2
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2809,6 +2863,7 @@
 ===test_acc_ramp_updown_rotate(50, 49, 0, 100, 10)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -2973,6 +3028,7 @@
 pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
@@ -2988,6 +3044,7 @@
 ===test_acc_ramp_updown_rotate(30, 80, 30, 80, 5)===
 NM_BTS_SM_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BTS_OP{DISABLED_NOTINSTALLED}: Allocated
+NM_GPRS_CELL_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_RCARRIER_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_BB_TRANSC_OP{DISABLED_NOTINSTALLED}: Allocated
 NM_CHAN_OP{DISABLED_NOTINSTALLED}: Allocated
@@ -3058,6 +3115,7 @@
 sys={12500.000000}: select(49): chan_load_avg=75
 NM_GPRS_NSE_OP(nse0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_SM_OP(bts_sm){DISABLED_NOTINSTALLED}: Deallocated
+NM_GPRS_CELL_OP(gprs-cell0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BTS_OP(bts0){DISABLED_NOTINSTALLED}: Deallocated
 NM_BB_TRANSC_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
 NM_RCARRIER_OP(bts0-trx0){DISABLED_NOTINSTALLED}: Deallocated
diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am
index 770b73b..18b82b6 100644
--- a/tests/bsc/Makefile.am
+++ b/tests/bsc/Makefile.am
@@ -52,6 +52,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(LIBOSMOCORE_LIBS) \
diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am
index 7fb62db..6bf73af 100644
--- a/tests/gsm0408/Makefile.am
+++ b/tests/gsm0408/Makefile.am
@@ -41,6 +41,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(LIBOSMOCORE_LIBS) \
diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am
index 1a75ea0..444c097 100644
--- a/tests/handover/Makefile.am
+++ b/tests/handover/Makefile.am
@@ -86,6 +86,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(top_builddir)/src/osmo-bsc/osmo_bsc_ctrl.o \
diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am
index 8bd2ba9..1e5712e 100644
--- a/tests/nanobts_omlattr/Makefile.am
+++ b/tests/nanobts_omlattr/Makefile.am
@@ -35,6 +35,7 @@
 	$(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \
+	$(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \
 	$(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \
 	$(LIBOSMOCORE_LIBS) \
