diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
index f5ef308ef..88a17831f 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
@@ -569,6 +569,7 @@ class BackupManager(
                 favorite = manga.favorite,
                 lastUpdate = manga.lastUpdate,
                 nextUpdate = 0L,
+                calculateInterval = 0L,
                 initialized = manga.initialized,
                 viewerFlags = manga.viewerFlags,
                 chapterFlags = manga.chapterFlags,
@@ -597,6 +598,8 @@ class BackupManager(
                 thumbnailUrl = manga.thumbnailUrl,
                 favorite = manga.favorite.toLong(),
                 lastUpdate = manga.lastUpdate,
+                nextUpdate = null,
+                calculateInterval = null,
                 initialized = manga.initialized.toLong(),
                 viewer = manga.viewerFlags,
                 chapterFlags = manga.chapterFlags,
diff --git a/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt b/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
index 00dd980f9..9df8010ce 100644
--- a/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
+++ b/data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
@@ -5,13 +5,15 @@ import tachiyomi.domain.library.model.LibraryManga
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.view.LibraryView
 
-val mangaMapper: (Long, Long, String, String?, String?, String?, List<String>?, String, Long, String?, Boolean, Long?, Long?, Boolean, Long, Long, Long, Long, List<String>?, UpdateStrategy) -> Manga =
-    { id, source, url, artist, author, description, genre, title, status, thumbnailUrl, favorite, lastUpdate, _, initialized, viewerFlags, chapterFlags, coverLastModified, dateAdded, filteredScanlators, updateStrategy ->
+val mangaMapper: (Long, Long, String, String?, String?, String?, List<String>?, String, Long, String?, Boolean, Long?, Long?, Boolean, Long, Long, Long, Long, List<String>?, UpdateStrategy, Long) -> Manga =
+    { id, source, url, artist, author, description, genre, title, status, thumbnailUrl, favorite, lastUpdate, _, initialized, viewerFlags, chapterFlags, coverLastModified, dateAdded, filteredScanlators, updateStrategy, calculateInterval ->
         Manga(
             id = id,
             source = source,
             favorite = favorite,
             lastUpdate = lastUpdate ?: 0,
+            nextUpdate = nextUpdate ?: 0,
+            calculateInterval = calculateInterval.toInt(),
             dateAdded = dateAdded,
             viewerFlags = viewerFlags,
             chapterFlags = chapterFlags,
@@ -34,8 +36,8 @@ val mangaMapper: (Long, Long, String, String?, String?, String?, List<String>?,
         )
     }
 
-val libraryManga: (Long, Long, String, String?, String?, String?, List<String>?, String, Long, String?, Boolean, Long?, Long?, Boolean, Long, Long, Long, Long, List<String>?, UpdateStrategy, Long, Long, Long, Long, Long, Long, Long) -> LibraryManga =
-    { id, source, url, artist, author, description, genre, title, status, thumbnailUrl, favorite, lastUpdate, nextUpdate, initialized, viewerFlags, chapterFlags, coverLastModified, dateAdded, filteredScanlators, updateStrategy, totalCount, readCount, latestUpload, chapterFetchedAt, lastRead, bookmarkCount, category ->
+val libraryManga: (Long, Long, String, String?, String?, String?, List<String>?, String, Long, String?, Boolean, Long?, Long?, Boolean, Long, Long, Long, Long, List<String>?, UpdateStrategy, Long, Long, Long, Long, Long, Long, Long, Long) -> LibraryManga =
+    { id, source, url, artist, author, description, genre, title, status, thumbnailUrl, favorite, lastUpdate, nextUpdate, initialized, viewerFlags, chapterFlags, coverLastModified, dateAdded, filteredScanlators, updateStrategy, calculateInterval, totalCount, readCount, latestUpload, chapterFetchedAt, lastRead, bookmarkCount, category ->
         LibraryManga(
             manga = mangaMapper(
                 id,
@@ -51,6 +53,7 @@ val libraryManga: (Long, Long, String, String?, String?, String?, List<String>?,
                 favorite,
                 lastUpdate,
                 nextUpdate,
+                calculateInterval,
                 initialized,
                 viewerFlags,
                 chapterFlags,
diff --git a/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt b/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
index 67a98a21e..b21502335 100644
--- a/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
+++ b/data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
@@ -99,7 +99,8 @@ class MangaRepositoryImpl(
                 thumbnailUrl = manga.thumbnailUrl,
                 favorite = manga.favorite,
                 lastUpdate = manga.lastUpdate,
-                nextUpdate = null,
+                nextUpdate = manga.nextUpdate,
+                calculateInterval = manga.calculateInterval.toLong(),
                 initialized = manga.initialized,
                 viewerFlags = manga.viewerFlags,
                 chapterFlags = manga.chapterFlags,
@@ -149,6 +150,8 @@ class MangaRepositoryImpl(
                     thumbnailUrl = value.thumbnailUrl,
                     favorite = value.favorite?.toLong(),
                     lastUpdate = value.lastUpdate,
+                    nextUpdate = value.nextUpdate,
+                    calculateInterval = value.calculateInterval?.toLong(),
                     initialized = value.initialized?.toLong(),
                     viewer = value.viewerFlags,
                     chapterFlags = value.chapterFlags,
diff --git a/data/src/main/sqldelight/tachiyomi/data/mangas.sq b/data/src/main/sqldelight/tachiyomi/data/mangas.sq
index e78e5b1da..e8f0d4052 100644
--- a/data/src/main/sqldelight/tachiyomi/data/mangas.sq
+++ b/data/src/main/sqldelight/tachiyomi/data/mangas.sq
@@ -22,7 +22,8 @@ CREATE TABLE mangas(
     cover_last_modified INTEGER AS Long NOT NULL,
     date_added INTEGER AS Long NOT NULL,
     filtered_scanlators TEXT AS List<String>,
-    update_strategy INTEGER AS UpdateStrategy NOT NULL DEFAULT 0
+    update_strategy INTEGER AS UpdateStrategy NOT NULL DEFAULT 0,
+    calculate_interval INTEGER DEFAULT 0 NOT NULL
 );
 
 CREATE INDEX library_favorite_index ON mangas(favorite) WHERE favorite = 1;
@@ -98,8 +99,8 @@ WHERE favorite = 0 AND source IN :sourceIdsAND AND _id NOT IN (
 );
 
 insert:
-INSERT INTO mangas(source,url,artist,author,description,genre,title,status,thumbnail_url,favorite,last_update,next_update,initialized,viewer,chapter_flags,cover_last_modified,date_added,filtered_scanlators,update_strategy)
-VALUES (:source,:url,:artist,:author,:description,:genre,:title,:status,:thumbnailUrl,:favorite,:lastUpdate,:nextUpdate,:initialized,:viewerFlags,:chapterFlags,:coverLastModified,:dateAdded,:filteredScanlators,:updateStrategy);
+INSERT INTO mangas(source,url,artist,author,description,genre,title,status,thumbnail_url,favorite,last_update,next_update,initialized,viewer,chapter_flags,cover_last_modified,date_added,filtered_scanlators,update_strategy,calculate_interval)
+VALUES (:source,:url,:artist,:author,:description,:genre,:title,:status,:thumbnailUrl,:favorite,:lastUpdate,:nextUpdate,:initialized,:viewerFlags,:chapterFlags,:coverLastModified,:dateAdded,:filteredScanlators,:updateStrategy,:calculateInterval);
 
 update:
 UPDATE mangas SET
@@ -114,13 +115,15 @@ UPDATE mangas SET
     thumbnail_url = coalesce(:thumbnailUrl, thumbnail_url),
     favorite = coalesce(:favorite, favorite),
     last_update = coalesce(:lastUpdate, last_update),
+    next_update = coalesce(:nextUpdate, next_update),
     initialized = coalesce(:initialized, initialized),
     viewer = coalesce(:viewer, viewer),
     chapter_flags = coalesce(:chapterFlags, chapter_flags),
     cover_last_modified = coalesce(:coverLastModified, cover_last_modified),
     date_added = coalesce(:dateAdded, date_added),
     filtered_scanlators = coalesce(:filteredScanlators, filtered_scanlators),
-    update_strategy = coalesce(:updateStrategy, update_strategy)
+    update_strategy = coalesce(:updateStrategy, update_strategy),
+    calculate_interval = coalesce(:calculateInterval, calculate_interval),
 WHERE _id = :mangaId;
 
 selectLastInsertedRowId:
diff --git a/data/src/main/sqldelight/tachiyomi/migrations/25.sqm b/data/src/main/sqldelight/tachiyomi/migrations/25.sqm
new file mode 100644
index 000000000..ef2370b25
--- /dev/null
+++ b/data/src/main/sqldelight/tachiyomi/migrations/25.sqm
@@ -0,0 +1 @@
+ALTER TABLE mangas ADD COLUMN calculate_interval INTEGER DEFAULT 0 NOT NULL;
\ No newline at end of file
diff --git a/domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt b/domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
index 74122ffbb..a95dbff8b 100644
--- a/domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
+++ b/domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
@@ -10,6 +10,8 @@ data class Manga(
     val source: Long,
     val favorite: Boolean,
     val lastUpdate: Long,
+    val nextUpdate: Long,
+    val calculateInterval: Int,
     val dateAdded: Long,
     val viewerFlags: Long,
     val chapterFlags: Long,
@@ -128,6 +130,8 @@ data class Manga(
             source = -1L,
             favorite = false,
             lastUpdate = 0L,
+            nextUpdate = 0L,
+            calculateInterval = 0,
             dateAdded = 0L,
             viewerFlags = 0L,
             chapterFlags = 0L,
diff --git a/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt b/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
index 461bb5617..8b6262025 100644
--- a/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
+++ b/domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
@@ -7,6 +7,8 @@ data class MangaUpdate(
     val source: Long? = null,
     val favorite: Boolean? = null,
     val lastUpdate: Long? = null,
+    val nextUpdate: Long? = null,
+    val calculateInterval: Int? = null,
     val dateAdded: Long? = null,
     val viewerFlags: Long? = null,
     val chapterFlags: Long? = null,
@@ -32,6 +34,8 @@ fun Manga.toMangaUpdate(): MangaUpdate {
         source = source,
         favorite = favorite,
         lastUpdate = lastUpdate,
+        nextUpdate = nextUpdate,
+        calculateInterval = calculateInterval,
         dateAdded = dateAdded,
         viewerFlags = viewerFlags,
         chapterFlags = chapterFlags,