diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.java b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.java
index 9f2c58ee7f..da828f33ec 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.java
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.java
@@ -78,6 +78,7 @@ public class DownloadManager {
         downloadsSubscription = downloadsQueueSubject
                 .flatMap(Observable::from)
                 .lift(new DynamicConcurrentMergeOperator<>(this::downloadChapter, threadsSubject))
+                .onBackpressureBuffer()
                 .observeOn(AndroidSchedulers.mainThread())
                 .map(download -> areAllDownloadsFinished())
                 .subscribe(finished -> {