diff --git a/src/bts.cpp b/src/bts.cpp
index 5b62a18..141431a 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -941,14 +941,11 @@
 			ul_tbf = NULL;
 		}
 
-		if (dl_tbf) {
-			LOGP(DRLCMACUL, LOGL_NOTICE, "Got RACH from "
-				"TLLI=0x%08x while %s still exists. "
-				"Killing pending DL TBF\n", tlli,
-				tbf_name(dl_tbf));
-			tbf_free(dl_tbf);
-			dl_tbf = NULL;
-		}
+		if (dl_tbf)
+			LOGP(DRLCMACUL, LOGL_INFO, "Got RACH from "
+				"TLLI=0x%08x while %s still exists.\n",
+				tlli, tbf_name(dl_tbf));
+
 		LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF "
 			"in packet resource request of single "
 			"block, so we provide one:\n");
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 457fe24..2e6da02 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -887,6 +887,8 @@
 	}
 
 	old_ms = bts->ms_by_tlli(new_tlli);
+	/* Keep the old MS object for the update_ms() */
+	GprsMs::Guard guard(old_ms);
 	if (old_ms) {
 		/* Get them before calling set_ms() */
 		dl_tbf = old_ms->dl_tbf();
@@ -897,7 +899,7 @@
 
 		/* there might be an active and valid downlink TBF */
 		if (!ms()->dl_tbf() && dl_tbf)
-			/* Move it to the current MS */
+			/* Move it to the current MS (see the guard above) */
 			dl_tbf->set_ms(ms());
 	}
 
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 44d26b2..6f9a8ba 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -871,11 +871,11 @@
 	OSMO_ASSERT(ms2 == ms);
 
 	/* DL TBF should be the same */
-	/* OSMO_ASSERT(ms->dl_tbf()); */
-	/* OSMO_ASSERT(ms->dl_tbf() == dl_tbf); */
+	OSMO_ASSERT(ms->dl_tbf());
+	OSMO_ASSERT(ms->dl_tbf() == dl_tbf);
 
 	/* No queued packets should be lost */
-	/* OSMO_ASSERT(ms->llc_queue()->size() == 1); */
+	OSMO_ASSERT(ms->llc_queue()->size() == 1);
 
 	printf("=== end %s ===\n", __func__);
 }
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index b0ae44c..caf35e7 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -1764,12 +1764,7 @@
  Found TFI=0.
 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++
 ------------------------- RX : Uplink Control Block -------------------------
-Got RACH from TLLI=0xf1223344 while TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) still exists. Killing pending DL TBF
-TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) free
-TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer 0.
-PDCH(TS 7, TRX 0): Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000.
-Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW)
-********** TBF ends here **********
+Got RACH from TLLI=0xf1223344 while TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) still exists.
 MS requests UL TBF in packet resource request of single block, so we provide one:
 ********** TBF starts here **********
 Allocating UL TBF: MS_CLASS=1
@@ -1914,10 +1909,13 @@
 Sending data request: trx=0 ts=0 sapi=2 arfcn=0 fn=0 block=0 data=2d 06 3f 10 0f 00 00 03 8b ed 07 00 c8 00 10 0b 2b 2b 2b 2b 2b 2b 2b 
 UL DATA TFI=0 received (V(Q)=0 .. V(R)=0)
 Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW)
-Destroying MS object, TLLI = 0xf1223344
 Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=FLOW)
+Modifying MS object, TLLI = 0x00000000, IMSI '' -> '0011223344'
+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
+Clearing MS object, TLLI: 0xf1223344, IMSI: '0011223344'
 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed
 Decoded premier TLLI=0xf1223344 of UL DATA TFI=0.
+Destroying MS object, TLLI = 0x00000000
 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer 3169 while old timer 3169 pending 
 - BSN 0 storing in window (0..63)
 - Raising V(R) to 1
@@ -1934,4 +1932,4 @@
 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to FINISHED
 - Scheduling Ack/Nack, because TLLI is included.
 - Scheduling Ack/Nack, because last block has CV==0.
-New MS: TLLI = 0xf1223344, TA = 7, IMSI = , LLC = 0
+New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 0
