diff --git a/src/compress.c b/src/compress.c
index dda617f..af9cb5b 100644
--- a/src/compress.c
+++ b/src/compress.c
@@ -181,11 +181,14 @@ do_collect_seq(void)
return;
}
+ sched_lock();
+ collect_token = true;
+ sched_unlock();
+
/* Do the hard work. */
wblk->size = encode(wblk->enc, &wblk->crc);
sched_lock();
- collect_token = true;
enqueue(trans_q, wblk);
}