diff --git a/src/tbf.cpp b/src/tbf.cpp
index e882e1f..cc8effa 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -1602,6 +1602,7 @@
 			"%d..%d (it's normal)\n", rh->bsn,
 			dir.ul.window.v_q(),
 			(dir.ul.window.v_q() + ws - 1) & mod_sns);
+		maybe_schedule_uplink_acknack(rh);
 		return 0;
 	}
 
@@ -1646,8 +1647,15 @@
 
 	/* If TLLI is included or if we received half of the window, we send
 	 * an ack/nack */
-	if (rh->si || rh->ti || this->state_is(GPRS_RLCMAC_FINISHED)
-	 || (this->dir.ul.rx_counter % SEND_ACK_AFTER_FRAMES) == 0) {
+	maybe_schedule_uplink_acknack(rh);
+
+	return 0;
+}
+
+void gprs_rlcmac_tbf::maybe_schedule_uplink_acknack(const rlc_ul_header *rh)
+{
+	if (rh->si || rh->ti || state_is(GPRS_RLCMAC_FINISHED)
+	 || (dir.ul.rx_counter % SEND_ACK_AFTER_FRAMES) == 0) {
 		if (rh->si) {
 			LOGP(DRLCMACUL, LOGL_NOTICE, "- Scheduling Ack/Nack, "
 				"because MS is stalled.\n");
@@ -1656,26 +1664,24 @@
 			LOGP(DRLCMACUL, LOGL_DEBUG, "- Scheduling Ack/Nack, "
 				"because TLLI is included.\n");
 		}
-		if (this->state_is(GPRS_RLCMAC_FINISHED)) {
+		if (state_is(GPRS_RLCMAC_FINISHED)) {
 			LOGP(DRLCMACUL, LOGL_DEBUG, "- Scheduling Ack/Nack, "
 				"because last block has CV==0.\n");
 		}
-		if ((this->dir.ul.rx_counter % SEND_ACK_AFTER_FRAMES) == 0) {
+		if ((dir.ul.rx_counter % SEND_ACK_AFTER_FRAMES) == 0) {
 			LOGP(DRLCMACUL, LOGL_DEBUG, "- Scheduling Ack/Nack, "
 				"because %d frames received.\n",
 				SEND_ACK_AFTER_FRAMES);
 		}
-		if (this->ul_ack_state == GPRS_RLCMAC_UL_ACK_NONE) {
+		if (ul_ack_state == GPRS_RLCMAC_UL_ACK_NONE) {
 			/* trigger sending at next RTS */
-			this->ul_ack_state = GPRS_RLCMAC_UL_ACK_SEND_ACK;
+			ul_ack_state = GPRS_RLCMAC_UL_ACK_SEND_ACK;
 		} else {
 			/* already triggered */
 			LOGP(DRLCMACUL, LOGL_DEBUG, "-  Sending Ack/Nack is "
 				"already triggered, don't schedule!\n");
 		}
 	}
-
-	return 0;
 }
 
 /* Send Uplink unit-data to SGSN. */
diff --git a/src/tbf.h b/src/tbf.h
index 98b9a9b..414bc63 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -237,6 +237,7 @@
 	bool dl_window_stalled() const;
 
 	int extract_tlli(const uint8_t *data, const size_t len);
+	void maybe_schedule_uplink_acknack(const rlc_ul_header *rh);
 
 	int append_data(const uint8_t ms_class,
 			const uint16_t pdu_delay_csec,
