diff --git a/fs/bcachefs/journal_reclaim.c b/fs/bcachefs/journal_reclaim.c
index ace291f175dd..58a745c72aac 100644
--- a/fs/bcachefs/journal_reclaim.c
+++ b/fs/bcachefs/journal_reclaim.c
@@ -731,7 +731,7 @@ static int bch2_journal_reclaim_thread(void *arg)
 
 	j->last_flushed = jiffies;
 
-	while (!ret && !kthread_should_stop()) {
+	while (!j->flush_in_progress && !ret && !kthread_should_stop()) {
 		bool kicked = j->reclaim_kicked;
 
 		j->reclaim_kicked = false;