diff --git a/openbsc/include/openbsc/gprs_bssgp.h b/openbsc/include/openbsc/gprs_bssgp.h
index c70868a..c1094b3 100644
--- a/openbsc/include/openbsc/gprs_bssgp.h
+++ b/openbsc/include/openbsc/gprs_bssgp.h
@@ -140,6 +140,7 @@
 #include <osmocore/tlv.h>
 
 extern int gprs_bssgp_rcvmsg(struct msgb *msg);
+uint16_t bssgp_parse_cell_id(struct gprs_ra_id *raid, const uint8_t *buf);
 
 /* Wrapper around TLV parser to parse BSSGP IEs */
 static inline int bssgp_tlv_parse(struct tlv_parsed *tp, uint8_t *buf, int len)
diff --git a/openbsc/src/gprs_bssgp.c b/openbsc/src/gprs_bssgp.c
index a3fa3ec..aceedb5 100644
--- a/openbsc/src/gprs_bssgp.c
+++ b/openbsc/src/gprs_bssgp.c
@@ -205,13 +205,12 @@
 	return gprs_ns_sendmsg(bssgp_nsi, msg);
 }
 
-static void bssgp_parse_cell_id(struct gprs_ra_id *raid, uint16_t *cid,
-				const uint8_t *buf)
+uint16_t bssgp_parse_cell_id(struct gprs_ra_id *raid, const uint8_t *buf)
 {
 	/* 6 octets RAC */
 	gsm48_parse_ra(raid, buf);
 	/* 2 octets CID */
-	*cid = ntohs(*(uint16_t *) (buf+6));
+	return ntohs(*(uint16_t *) (buf+6));
 }
 
 /* Chapter 8.4 BVC-Reset Procedure */
@@ -241,8 +240,8 @@
 			return -EINVAL;
 		}
 		/* actually extract RAC / CID */
-		bssgp_parse_cell_id(&bctx->ra_id, &bctx->cell_id,
-				    TLVP_VAL(tp, BSSGP_IE_CELL_ID));
+		bctx->cell_id = bssgp_parse_cell_id(&bctx->ra_id,
+						TLVP_VAL(tp, BSSGP_IE_CELL_ID));
 		LOGP(DGPRS, LOGL_NOTICE, "Cell %u-%u-%u-%u CI %u on BVCI %u\n",
 			bctx->ra_id.mcc, bctx->ra_id.mnc, bctx->ra_id.lac,
 			bctx->ra_id.rac, bctx->cell_id, bvci);
@@ -275,7 +274,9 @@
 
 	/* FIXME: lookup bssgp_bts_ctx based on BVCI + NSEI */
 
+	/* store pointer to LLC header and CELL ID in msgb->cb */
 	msgb_llch(msg) = TLVP_VAL(&tp, BSSGP_IE_LLC_PDU);
+	msgb_bcid(msg) = TLVP_VAL(&tp, BSSGP_IE_CELL_ID);
 
 	return gprs_llc_rcvmsg(msg, &tp);
 }
