diff --git a/src/bts.cpp b/src/bts.cpp
index 7225a78..ae0a1ca 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -833,7 +833,7 @@
 			"message, so we provide one:\n");
 
 		/* This call will register the new TBF with the MS on success */
-		tbf_alloc_ul(bts_data(), tbf->trx->trx_no, tbf->ms_class,
+		tbf_alloc_ul(bts_data(), tbf->trx->trx_no, tbf->ms_class(),
 			tbf->tlli(), tbf->ta(), tbf);
 
 		/* schedule uplink assignment */
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp
index d047cf5..1ae0fc6 100644
--- a/src/gprs_ms.cpp
+++ b/src/gprs_ms.cpp
@@ -72,6 +72,7 @@
 	m_new_ul_tlli(0),
 	m_new_dl_tlli(0),
 	m_ta(0),
+	m_ms_class(0),
 	m_is_idle(true),
 	m_ref(0),
 	m_list(this)
@@ -325,3 +326,15 @@
 	m_ta = ta_;
 }
 
+void GprsMs::set_ms_class(uint8_t ms_class_)
+{
+	if (ms_class_ == m_ms_class)
+		return;
+
+	LOGP(DRLCMAC, LOGL_INFO,
+		"Modifying MS object, TLLI = 0x%08x, MS class %d -> %d\n",
+		tlli(), m_ms_class, ms_class_);
+
+	m_ms_class = ms_class_;
+}
+
diff --git a/src/gprs_ms.h b/src/gprs_ms.h
index 5c42c50..8d292f1 100644
--- a/src/gprs_ms.h
+++ b/src/gprs_ms.h
@@ -67,6 +67,8 @@
 
 	uint8_t ta() const;
 	void set_ta(uint8_t ta);
+	uint8_t ms_class() const;
+	void set_ms_class(uint8_t ms_class);
 
 	gprs_llc_queue *llc_queue();
 	const gprs_llc_queue *llc_queue() const;
@@ -108,6 +110,7 @@
 	/* store IMSI for look-up and PCH retransmission */
 	char m_imsi[16];
 	uint8_t m_ta;
+	uint8_t m_ms_class;
 	gprs_llc_queue m_llc_queue;
 
 	bool m_is_idle;
@@ -140,6 +143,11 @@
 	return m_ta;
 }
 
+inline uint8_t GprsMs::ms_class() const
+{
+	return m_ms_class;
+}
+
 inline void GprsMs::set_timeout(unsigned secs)
 {
 	m_delay = secs;
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 27b01d7..e8bedad 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -146,7 +146,7 @@
 	uint8_t ts;
 
 	LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class "
-		"%d\n", tbf->ms_class);
+		"%d\n", tbf->ms_class());
 
 	ts = find_enabled_pdch(tbf->trx, 0);
 	if (ts == 8)
@@ -540,16 +540,16 @@
 	uint8_t slotcount = 0;
 
 
-	if (tbf->ms_class >= 32) {
+	if (tbf->ms_class() >= 32) {
 		LOGP(DRLCMAC, LOGL_ERROR, "Multislot class %d out of range.\n",
-			tbf->ms_class);
+			tbf->ms_class());
 		return -EINVAL;
 	}
 
-	if (tbf->ms_class) {
-		ms_class = &gprs_ms_multislot_class[tbf->ms_class];
+	if (tbf->ms_class()) {
+		ms_class = &gprs_ms_multislot_class[tbf->ms_class()];
 		LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm B) for "
-			"class %d\n", tbf->ms_class);
+			"class %d\n", tbf->ms_class());
 	} else {
 		ms_class = &gprs_ms_multislot_class[12];
 		LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm B) for "
@@ -558,7 +558,7 @@
 
 	if (ms_class->tx == MS_NA) {
 		LOGP(DRLCMAC, LOGL_NOTICE, "Multislot class %d not "
-			"applicable.\n", tbf->ms_class);
+			"applicable.\n", tbf->ms_class());
 		return -EINVAL;
 	}
 
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 136226c..e058348 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -102,6 +102,19 @@
 	m_ta = ta;
 }
 
+uint8_t gprs_rlcmac_tbf::ms_class() const
+{
+	return m_ms ? m_ms->ms_class() : m_ms_class;
+}
+
+void gprs_rlcmac_tbf::set_ms_class(uint8_t ms_class_)
+{
+	if (ms())
+		ms()->set_ms_class(ms_class_);
+
+	m_ms_class = ms_class_;
+}
+
 gprs_llc_queue *gprs_rlcmac_tbf::llc_queue()
 {
 	return m_ms ? m_ms->llc_queue() : NULL;
@@ -141,8 +154,12 @@
 			new_ms->set_timeout(bts->bts_data()->ms_idle_sec);
 		}
 
-		if (dir == GPRS_RLCMAC_UL_TBF)
+		if (dir == GPRS_RLCMAC_UL_TBF) {
 			new_ms->set_ta(m_ta);
+		}
+
+		if (m_ms_class)
+			new_ms->set_ms_class(m_ms_class);
 
 		set_ms(new_ms);
 		return;
@@ -440,7 +457,7 @@
 	tbf->bts = bts->bts;
 	tbf->m_tfi = tfi;
 	tbf->trx = &bts->trx[trx];
-	tbf->ms_class = ms_class;
+	tbf->set_ms_class(ms_class);
 	/* select algorithm */
 	rc = bts->alloc_algorithm(bts, old_tbf, tbf, bts->alloc_algorithm_curst,
 		single_slot);
@@ -921,7 +938,7 @@
 	vty_out(vty, " created=%lu state=%08x 1st_TS=%d 1st_cTS=%d ctrl_TS=%d "
 			"MS_CLASS=%d%s",
 			tbf->created_ts(), tbf->state_flags, tbf->first_ts,
-			tbf->first_common_ts, tbf->control_ts, tbf->ms_class,
+			tbf->first_common_ts, tbf->control_ts, tbf->ms_class(),
 			VTY_NEWLINE);
 	vty_out(vty, " TS_alloc=");
 	for (int i = 0; i < 8; i++) {
diff --git a/src/tbf.h b/src/tbf.h
index 7f8d660..c5bb900 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -151,6 +151,8 @@
 	void assign_imsi(const char *imsi);
 	uint8_t ta() const;
 	void set_ta(uint8_t);
+	uint8_t ms_class() const;
+	void set_ms_class(uint8_t);
 	gprs_llc_queue *llc_queue();
 	const gprs_llc_queue *llc_queue() const;
 
@@ -167,7 +169,6 @@
 	uint8_t first_common_ts; /* first TS that the phone can send and
 		reveive simultaniously */
 	uint8_t control_ts; /* timeslot control messages and polling */
-	uint8_t ms_class;
 	struct gprs_rlcmac_pdch *pdch[8]; /* list of PDCHs allocated to TBF */
 
 	gprs_llc m_llc;
@@ -229,8 +230,9 @@
 
 	class GprsMs *m_ms;
 
-	/* Field to take the TA value if no MS is associated */
+	/* Fields to take the TA/MS class values if no MS is associated */
 	uint8_t m_ta;
+	uint8_t m_ms_class;
 
 private:
 	mutable char m_name_buf[60];
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 85cd751..d1ed1cd 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -58,8 +58,8 @@
 static inline void tbf_update_ms_class(struct gprs_rlcmac_tbf *tbf,
 					const uint8_t ms_class)
 {
-	if (!tbf->ms_class && ms_class)
-		tbf->ms_class = ms_class;
+	if (!tbf->ms_class() && ms_class)
+		tbf->set_ms_class(ms_class);
 }
 
 static void llc_timer_cb(void *_tbf)
@@ -777,7 +777,7 @@
 	tfi = bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx, this->trx->trx_no);
 	if (tfi >= 0)
 		new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), NULL, tfi, trx,
-			ms_class, 0);
+			ms_class(), 0);
 
 	if (!new_tbf) {
 		LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index 552d8aa..2211e92 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -359,6 +359,9 @@
 		dl_tbf->update();
 		OSMO_ASSERT(dl_tbf->first_common_ts == ul_tbf->first_common_ts);
 
+		OSMO_ASSERT(ul_tbf->ms_class() == ms_class);
+		OSMO_ASSERT(dl_tbf->ms_class() == ms_class);
+
 		tbf_free(dl_tbf);
 		tbf_free(ul_tbf);
 	}
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index d919b89..ecdc3fe 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -35,6 +35,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
+Modifying MS object, TLLI = 0xffeeddcc, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW)
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -105,6 +106,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
+Modifying MS object, TLLI = 0xffeeddcc, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW)
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -175,6 +177,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
+Modifying MS object, TLLI = 0xffeeddcc, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW)
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -408,9 +411,11 @@
 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xf1000001, partly confirmed
+Modifying MS object, TLLI = 0xf1000001, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xf1000001, TBF = TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=FLOW)
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xf1000002, partly confirmed
+Modifying MS object, TLLI = 0xf1000002, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xf1000002, TBF = TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=FLOW)
 Modifying MS object, TLLI = 0xf1000001, IMSI '' -> '001001000000001'
 Modifying MS object, TLLI = 0xf1000001, IMSI '001001000000001' -> '001001000000002'
@@ -440,6 +445,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000000, partly confirmed
+Modifying MS object, TLLI = 0xc0000000, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000000, TBF = TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL)
 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000000, IMSI '' -> '001001000000000'
@@ -460,6 +466,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000001, partly confirmed
+Modifying MS object, TLLI = 0xc0000001, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000001, TBF = TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL)
 TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000001, IMSI '' -> '001001000000001'
@@ -480,6 +487,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000002, partly confirmed
+Modifying MS object, TLLI = 0xc0000002, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000002, TBF = TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL)
 TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000002, IMSI '' -> '001001000000002'
@@ -500,6 +508,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000003, partly confirmed
+Modifying MS object, TLLI = 0xc0000003, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000003, TBF = TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL)
 TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000003, IMSI '' -> '001001000000003'
@@ -520,6 +529,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000004, partly confirmed
+Modifying MS object, TLLI = 0xc0000004, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000004, TBF = TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL)
 TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000004, IMSI '' -> '001001000000004'
@@ -540,6 +550,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000005, partly confirmed
+Modifying MS object, TLLI = 0xc0000005, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000005, TBF = TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL)
 TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000005, IMSI '' -> '001001000000005'
@@ -560,6 +571,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000006, partly confirmed
+Modifying MS object, TLLI = 0xc0000006, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000006, TBF = TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL)
 TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000006, IMSI '' -> '001001000000006'
@@ -580,6 +592,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000007, partly confirmed
+Modifying MS object, TLLI = 0xc0000007, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000007, TBF = TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL)
 TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000007, IMSI '' -> '001001000000007'
@@ -600,6 +613,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000008, partly confirmed
+Modifying MS object, TLLI = 0xc0000008, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000008, TBF = TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL)
 TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000008, IMSI '' -> '001001000000008'
@@ -620,6 +634,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000009, partly confirmed
+Modifying MS object, TLLI = 0xc0000009, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000009, TBF = TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL)
 TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000009, IMSI '' -> '001001000000009'
@@ -640,6 +655,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000000a, partly confirmed
+Modifying MS object, TLLI = 0xc000000a, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000000a, TBF = TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL)
 TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000000a, IMSI '' -> '001001000000010'
@@ -660,6 +676,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000000b, partly confirmed
+Modifying MS object, TLLI = 0xc000000b, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000000b, TBF = TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL)
 TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000000b, IMSI '' -> '001001000000011'
@@ -680,6 +697,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000000c, partly confirmed
+Modifying MS object, TLLI = 0xc000000c, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000000c, TBF = TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL)
 TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000000c, IMSI '' -> '001001000000012'
@@ -700,6 +718,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000000d, partly confirmed
+Modifying MS object, TLLI = 0xc000000d, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000000d, TBF = TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL)
 TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000000d, IMSI '' -> '001001000000013'
@@ -720,6 +739,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000000e, partly confirmed
+Modifying MS object, TLLI = 0xc000000e, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000000e, TBF = TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL)
 TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000000e, IMSI '' -> '001001000000014'
@@ -740,6 +760,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000000f, partly confirmed
+Modifying MS object, TLLI = 0xc000000f, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000000f, TBF = TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL)
 TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000000f, IMSI '' -> '001001000000015'
@@ -760,6 +781,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000010, partly confirmed
+Modifying MS object, TLLI = 0xc0000010, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000010, TBF = TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL)
 TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000010, IMSI '' -> '001001000000016'
@@ -780,6 +802,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000011, partly confirmed
+Modifying MS object, TLLI = 0xc0000011, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000011, TBF = TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL)
 TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000011, IMSI '' -> '001001000000017'
@@ -800,6 +823,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000012, partly confirmed
+Modifying MS object, TLLI = 0xc0000012, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000012, TBF = TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL)
 TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000012, IMSI '' -> '001001000000018'
@@ -820,6 +844,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000013, partly confirmed
+Modifying MS object, TLLI = 0xc0000013, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000013, TBF = TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL)
 TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000013, IMSI '' -> '001001000000019'
@@ -840,6 +865,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000014, partly confirmed
+Modifying MS object, TLLI = 0xc0000014, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000014, TBF = TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL)
 TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000014, IMSI '' -> '001001000000020'
@@ -860,6 +886,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000015, partly confirmed
+Modifying MS object, TLLI = 0xc0000015, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000015, TBF = TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL)
 TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000015, IMSI '' -> '001001000000021'
@@ -880,6 +907,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000016, partly confirmed
+Modifying MS object, TLLI = 0xc0000016, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000016, TBF = TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL)
 TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000016, IMSI '' -> '001001000000022'
@@ -900,6 +928,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000017, partly confirmed
+Modifying MS object, TLLI = 0xc0000017, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000017, TBF = TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL)
 TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000017, IMSI '' -> '001001000000023'
@@ -920,6 +949,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000018, partly confirmed
+Modifying MS object, TLLI = 0xc0000018, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000018, TBF = TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL)
 TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000018, IMSI '' -> '001001000000024'
@@ -940,6 +970,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc0000019, partly confirmed
+Modifying MS object, TLLI = 0xc0000019, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc0000019, TBF = TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL)
 TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc0000019, IMSI '' -> '001001000000025'
@@ -960,6 +991,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000001a, partly confirmed
+Modifying MS object, TLLI = 0xc000001a, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000001a, TBF = TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL)
 TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000001a, IMSI '' -> '001001000000026'
@@ -980,6 +1012,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000001b, partly confirmed
+Modifying MS object, TLLI = 0xc000001b, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000001b, TBF = TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL)
 TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000001b, IMSI '' -> '001001000000027'
@@ -1000,6 +1033,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000001c, partly confirmed
+Modifying MS object, TLLI = 0xc000001c, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000001c, TBF = TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL)
 TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000001c, IMSI '' -> '001001000000028'
@@ -1020,6 +1054,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000001d, partly confirmed
+Modifying MS object, TLLI = 0xc000001d, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000001d, TBF = TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL)
 TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000001d, IMSI '' -> '001001000000029'
@@ -1040,6 +1075,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000001e, partly confirmed
+Modifying MS object, TLLI = 0xc000001e, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000001e, TBF = TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL)
 TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000001e, IMSI '' -> '001001000000030'
@@ -1060,6 +1096,7 @@
 - Setting Control TS 4
 Creating MS object, TLLI = 0x00000000
 The MS object cannot fully confirm an unexpected TLLI: 0xc000001f, partly confirmed
+Modifying MS object, TLLI = 0xc000001f, MS class 0 -> 45
 Attaching TBF to MS object, TLLI = 0xc000001f, TBF = TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL)
 TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START
 Modifying MS object, TLLI = 0xc000001f, IMSI '' -> '001001000000031'
