diff --git a/src/switch_stfu.c b/src/switch_stfu.c
index 5f6be76bea..13df191ca0 100644
--- a/src/switch_stfu.c
+++ b/src/switch_stfu.c
@@ -913,8 +913,8 @@ stfu_frame_t *stfu_n_read_a_frame(stfu_instance_t *i)
 
     if (!found && i->samples_per_packet) {
 		stfu_frame_t *least = stfu_n_find_least_unread_frame(i);
-
-		if (least && least->ts > i->cur_ts) {
+		
+		if (least && least->ts > i->cur_ts && (least->ts - i->cur_ts) / i->samples_per_packet > i->qlen) {
 			if (stfu_log != null_logger && i->debug) {
 				stfu_log(STFU_LOG_EMERG, "%s SLIPPED BEHIND %d packets, RESYNCRONIZING\n", i->name, (least->ts - i->cur_ts) / i->samples_per_packet);
 			}