diff --git a/src/pdch.cpp b/src/pdch.cpp
index 9bbb16a..8c61293 100644
--- a/src/pdch.cpp
+++ b/src/pdch.cpp
@@ -394,8 +394,6 @@
 			tbf_free(tbf);
 
 		osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL);
-		if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ASS))
-			LOGPTBF(new_tbf, LOGL_NOTICE, "Recovered uplink assignment for UL\n");
 
 		tbf_assign_control_ts(new_tbf);
 		/* there might be LLC packets waiting in the queue, but the DL
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 88aa049..37356e3 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -625,12 +625,6 @@
 		}
 
 	} else if (ul_ass_state_is(TBF_UL_ASS_WAIT_ACK)) {
-		if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS))) {
-			LOGPTBF(this, LOGL_NOTICE,
-				"Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n",
-				tbf_rlcmac_diag(this));
-			state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS);
-		}
 		bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT);
 		bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT);
 		if (n_inc(N3105)) {
diff --git a/src/tbf.h b/src/tbf.h
index da683b6..45f3a4e 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -138,8 +138,7 @@
 #define GPRS_RLCMAC_FLAG_DL_ACK		3 /* downlink acknowledge received  */
 #define GPRS_RLCMAC_FLAG_TO_UL_ACK	4
 #define GPRS_RLCMAC_FLAG_TO_DL_ACK	5
-#define GPRS_RLCMAC_FLAG_TO_UL_ASS	6
-#define GPRS_RLCMAC_FLAG_TO_DL_ASS	7
+#define GPRS_RLCMAC_FLAG_TO_DL_ASS	6
 #define GPRS_RLCMAC_FLAG_TO_MASK	0xf0 /* timeout bits */
 
 #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__)
diff --git a/src/tbf_ul_ass_fsm.c b/src/tbf_ul_ass_fsm.c
index a55309d..00f4bfd 100644
--- a/src/tbf_ul_ass_fsm.c
+++ b/src/tbf_ul_ass_fsm.c
@@ -210,11 +210,16 @@
 
 static void st_wait_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data)
 {
+	struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv;
+
 	switch (event) {
 	case TBF_UL_ASS_EV_RX_ASS_CTRL_ACK:
 		tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_NONE);
 		break;
 	case TBF_UL_ASS_EV_ASS_POLL_TIMEOUT:
+		LOGPTBF(ctx->tbf, LOGL_NOTICE,
+			"Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n",
+			tbf_rlcmac_diag(ctx->tbf));
 		/* Reschedule Pkt Ul Ass */
 		tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_SEND_ASS);
 		break;
