diff --git a/src/poll_controller.cpp b/src/poll_controller.cpp
index 7e1aa78..0bf616e 100644
--- a/src/poll_controller.cpp
+++ b/src/poll_controller.cpp
@@ -37,12 +37,18 @@
 	struct llist_pods *lpods;
 	uint32_t elapsed;
 
-	/* check for poll timeout */
+	/* check for poll timeout
+	 * The UL frame numbers lag 3 behind the DL frames and the data
+	 * indication is only sent after all 4 frames of the block have been
+	 * received. Sometimes there is an idle frame between the end of one
+	 * and start of another frame (every 3 blocks).  So the timeout should
+	 * definitely be there if we're more than 8 frames past poll_fn. Let's
+	 * stay on the safe side and say 13 or more. */
 	llist_pods_for_each_entry(ul_tbf, &bts->ul_tbfs, list, lpods) {
 		if (ul_tbf->poll_state == GPRS_RLCMAC_POLL_SCHED) {
 			elapsed = (frame_number + 2715648 - ul_tbf->poll_fn)
 								% 2715648;
-			if (elapsed >= 20 && elapsed < 2715400)
+			if (elapsed >= 13 && elapsed < 2715400)
 				ul_tbf->poll_timeout();
 		}
 	}
@@ -50,13 +56,13 @@
 		if (dl_tbf->poll_state == GPRS_RLCMAC_POLL_SCHED) {
 			elapsed = (frame_number + 2715648 - dl_tbf->poll_fn)
 								% 2715648;
-			if (elapsed >= 20 && elapsed < 2715400)
+			if (elapsed >= 13 && elapsed < 2715400)
 				dl_tbf->poll_timeout();
 		}
 	}
 	llist_for_each_entry_safe(sba, sba2, &m_bts.sba()->m_sbas, list) {
 		elapsed = (frame_number + 2715648 - sba->fn) % 2715648;
-		if (elapsed >= 20 && elapsed < 2715400) {
+		if (elapsed >= 13 && elapsed < 2715400) {
 			/* sba will be freed here */
 			m_bts.sba()->timeout(sba);
 		}
