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 ec75bc72a..67bc0254c 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
@@ -723,8 +723,6 @@ class BackupManager(
                 // Let the db assign the id
                 val mergedManga = handler.awaitOneOrNull { mangasQueries.getMangaByUrlAndSource(backupMergedMangaReference.mangaUrl, backupMergedMangaReference.mangaSourceId, mangaMapper) } ?: return@forEach
                 backupMergedMangaReference.getMergedMangaReference().run {
-                    mergeId = mergeMangaId
-                    mangaId = mergedManga.id
                     handler.await {
                         mergedQueries.insert(
                             infoManga = isInfoManga,
@@ -732,9 +730,9 @@ class BackupManager(
                             chapterSortMode = chapterSortMode.toLong(),
                             chapterPriority = chapterPriority.toLong(),
                             downloadChapters = downloadChapters,
-                            mergeId = mergeId!!,
+                            mergeId = mergeMangaId,
                             mergeUrl = mergeUrl,
-                            mangaId = mangaId,
+                            mangaId = mergedManga.id,
                             mangaUrl = mangaUrl,
                             mangaSource = mangaSourceId,
                         )
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
index e1eac6aec..7f25129df 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
@@ -30,7 +30,7 @@ data class BackupMergedMangaReference(
             mangaSourceId = mangaSourceId,
             mergeId = null,
             mangaId = null,
-            id = null,
+            id = -1,
         )
     }
 }
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
index 6ff335fce..fd91c6018 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
@@ -501,7 +501,7 @@ class MangaInfoScreenModel(
 
             val mangaReferences = mutableListOf(
                 MergedMangaReference(
-                    id = null,
+                    id = -1,
                     isInfoManga = false,
                     getChapterUpdates = true,
                     chapterSortMode = 0,
@@ -517,7 +517,7 @@ class MangaInfoScreenModel(
 
             if (children.isEmpty() || children.all { it.mangaSourceId != MERGED_SOURCE_ID }) {
                 mangaReferences += MergedMangaReference(
-                    id = null,
+                    id = -1,
                     isInfoManga = false,
                     getChapterUpdates = false,
                     chapterSortMode = 0,
@@ -574,7 +574,7 @@ class MangaInfoScreenModel(
                 }
 
             val originalMangaReference = MergedMangaReference(
-                id = null,
+                id = -1,
                 isInfoManga = true,
                 getChapterUpdates = true,
                 chapterSortMode = 0,
@@ -588,7 +588,7 @@ class MangaInfoScreenModel(
             )
 
             val newMangaReference = MergedMangaReference(
-                id = null,
+                id = -1,
                 isInfoManga = false,
                 getChapterUpdates = true,
                 chapterSortMode = 0,
@@ -602,7 +602,7 @@ class MangaInfoScreenModel(
             )
 
             val mergedMangaReference = MergedMangaReference(
-                id = null,
+                id = -1,
                 isInfoManga = false,
                 getChapterUpdates = false,
                 chapterSortMode = 0,
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt
index 38f203dc7..c58c124a4 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsDialog.kt
@@ -71,10 +71,12 @@ class EditMergedSettingsState(
 
     override fun onItemReleased(position: Int) {
         val mergedMangaAdapter = mergedMangaAdapter ?: return
-        mergedMangas.onEach { mergedManga ->
-            mergedManga.second.chapterPriority = mergedMangaAdapter.currentItems.indexOfFirst {
-                mergedManga.second.id == it.mergedMangaReference.id
-            }
+        mergedMangas = mergedMangas.map { (manga, reference) ->
+            manga to reference.copy(
+                chapterPriority = mergedMangaAdapter.currentItems.indexOfFirst {
+                    reference.id == it.mergedMangaReference.id
+                },
+            )
         }
     }
 
@@ -106,15 +108,19 @@ class EditMergedSettingsState(
 
     private fun toggleChapterUpdates(position: Int) {
         val adapterReference = mergedMangaAdapter?.currentItems?.getOrNull(position)?.mergedMangaReference
-        mergedMangas.firstOrNull { it.second.id != null && it.second.id == adapterReference?.id }?.apply {
-            second.getChapterUpdates = !second.getChapterUpdates
+            ?: return
+        mergedMangas = mergedMangas.map { pair ->
+            val (manga, reference) = pair
+            if (reference.id != adapterReference.id) return@map pair
 
-            mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == second.id }?.let {
+            mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == reference.id }?.let {
                 if (it is EditMergedMangaHolder) {
-                    it.updateChapterUpdatesIcon(second.getChapterUpdates)
+                    it.updateChapterUpdatesIcon(!reference.getChapterUpdates)
                 }
             } ?: context.toast(R.string.merged_chapter_updates_error)
-        } ?: context.toast(R.string.merged_toggle_chapter_updates_find_error)
+
+            manga to reference.copy(getChapterUpdates = !reference.getChapterUpdates)
+        }
     }
 
     override fun onToggleChapterDownloadsClicked(position: Int) {
@@ -130,15 +136,19 @@ class EditMergedSettingsState(
 
     private fun toggleChapterDownloads(position: Int) {
         val adapterReference = mergedMangaAdapter?.currentItems?.getOrNull(position)?.mergedMangaReference
-        mergedMangas.firstOrNull { it.second.id != null && it.second.id == adapterReference?.id }?.apply {
-            second.downloadChapters = !second.downloadChapters
+            ?: return
+        mergedMangas = mergedMangas.map { pair ->
+            val (manga, reference) = pair
+            if (reference.id != adapterReference.id) return@map pair
 
-            mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == second.id }?.let {
+            mergedMangaAdapter?.allBoundViewHolders?.firstOrNull { it is EditMergedMangaHolder && it.reference.id == reference.id }?.let {
                 if (it is EditMergedMangaHolder) {
-                    it.updateDownloadChaptersIcon(second.downloadChapters)
+                    it.updateDownloadChaptersIcon(!reference.downloadChapters)
                 }
             } ?: context.toast(R.string.merged_toggle_download_chapters_error)
-        } ?: context.toast(R.string.merged_toggle_download_chapters_find_error)
+
+            manga to reference.copy(downloadChapters = !reference.downloadChapters)
+        }
     }
 
     fun onPositiveButtonClick() {
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt
index 7f1d8a22e..a75d57ab2 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/merged/EditMergedSettingsHeaderAdapter.kt
@@ -68,19 +68,23 @@ class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState
                     position: Int,
                     id: Long,
                 ) {
-                    state.mergeReference?.chapterSortMode = when (position) {
-                        0 -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
-                        1 -> MergedMangaReference.CHAPTER_SORT_PRIORITY
-                        2 -> MergedMangaReference.CHAPTER_SORT_MOST_CHAPTERS
-                        3 -> MergedMangaReference.CHAPTER_SORT_HIGHEST_CHAPTER_NUMBER
-                        else -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
-                    }
+                    state.mergeReference = state.mergeReference?.copy(
+                        chapterSortMode = when (position) {
+                            0 -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
+                            1 -> MergedMangaReference.CHAPTER_SORT_PRIORITY
+                            2 -> MergedMangaReference.CHAPTER_SORT_MOST_CHAPTERS
+                            3 -> MergedMangaReference.CHAPTER_SORT_HIGHEST_CHAPTER_NUMBER
+                            else -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
+                        },
+                    )
                     xLogD(state.mergeReference?.chapterSortMode)
                     editMergedMangaItemSortingListener.onSetPrioritySort(canMove())
                 }
 
                 override fun onNothingSelected(parent: AdapterView<*>?) {
-                    state.mergeReference?.chapterSortMode = MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
+                    state.mergeReference = state.mergeReference?.copy(
+                        chapterSortMode = MergedMangaReference.CHAPTER_SORT_NO_DEDUPE,
+                    )
                 }
             }
 
@@ -111,25 +115,20 @@ class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState
                     position: Int,
                     id: Long,
                 ) {
-                    val mergedInfoManga = state.mergedMangas
-                        .find { mergedManga ->
-                            mergedManga.second.id == mergedMangas.getOrNull(position)?.second?.id
-                        }
-
-                    if (mergedInfoManga != null) {
-                        state.mergedMangas.onEach {
-                            it.second.isInfoManga = false
-                        }
-                        mergedInfoManga.second.isInfoManga = true
+                    state.mergedMangas = state.mergedMangas.map { (manga, reference) ->
+                        manga to reference.copy(
+                            isInfoManga = reference.id == mergedMangas.getOrNull(position)?.second?.id,
+                        )
                     }
                 }
 
                 override fun onNothingSelected(parent: AdapterView<*>?) {
                     mergedMangas.find { it.second.isInfoManga }?.second?.let { newInfoManga ->
-                        state.mergedMangas.onEach {
-                            it.second.isInfoManga = false
+                        state.mergedMangas = state.mergedMangas.map { (manga, reference) ->
+                            manga to reference.copy(
+                                isInfoManga = reference.id == newInfoManga.id,
+                            )
                         }
-                        newInfoManga.isInfoManga = true
                     }
                 }
             }
@@ -141,10 +140,12 @@ class EditMergedSettingsHeaderAdapter(private val state: EditMergedSettingsState
                     true -> 1F
                     false -> 0.5F
                 }
-                state.mergeReference?.chapterSortMode = when (isChecked) {
-                    true -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
-                    false -> MergedMangaReference.CHAPTER_SORT_NONE
-                }
+                state.mergeReference = state.mergeReference?.copy(
+                    chapterSortMode = when (isChecked) {
+                        true -> MergedMangaReference.CHAPTER_SORT_NO_DEDUPE
+                        false -> MergedMangaReference.CHAPTER_SORT_NONE
+                    },
+                )
 
                 if (isChecked) binding.dedupeModeSpinner.setSelection(0)
             }
diff --git a/app/src/main/java/exh/EXHMigrations.kt b/app/src/main/java/exh/EXHMigrations.kt
index eaa81ee14..7d9f63054 100644
--- a/app/src/main/java/exh/EXHMigrations.kt
+++ b/app/src/main/java/exh/EXHMigrations.kt
@@ -153,7 +153,7 @@ object EXHMigrations {
                                     mergedManga.first.copy(url = it)
                                 } ?: mergedManga.first
                                 mergedMangaReferences += MergedMangaReference(
-                                    id = null,
+                                    id = -1,
                                     isInfoManga = false,
                                     getChapterUpdates = false,
                                     chapterSortMode = 0,
@@ -168,7 +168,7 @@ object EXHMigrations {
                                 mergedManga.second.children.distinct().forEachIndexed { index, mangaSource ->
                                     val load = mangaSource.load() ?: return@forEachIndexed
                                     mergedMangaReferences += MergedMangaReference(
-                                        id = null,
+                                        id = -1,
                                         isInfoManga = index == 0,
                                         getChapterUpdates = true,
                                         chapterSortMode = 0,
diff --git a/app/src/main/java/exh/merged/sql/models/MergedMangaReference.kt b/app/src/main/java/exh/merged/sql/models/MergedMangaReference.kt
index 6526b6b9d..d1c4ca874 100644
--- a/app/src/main/java/exh/merged/sql/models/MergedMangaReference.kt
+++ b/app/src/main/java/exh/merged/sql/models/MergedMangaReference.kt
@@ -2,31 +2,31 @@ package exh.merged.sql.models
 
 data class MergedMangaReference(
     // Tag identifier, unique
-    var id: Long?,
+    val id: Long,
 
     // The manga where it grabs the updated manga info
-    var isInfoManga: Boolean,
+    val isInfoManga: Boolean,
 
     // If false the manga will not grab chapter updates
-    var getChapterUpdates: Boolean,
+    val getChapterUpdates: Boolean,
 
     // The mode in which the chapters are handeled, only set in the main merge reference
-    var chapterSortMode: Int,
+    val chapterSortMode: Int,
 
     // chapter priority the deduplication uses
-    var chapterPriority: Int,
+    val chapterPriority: Int,
 
     // Set if you want it to download new chapters
-    var downloadChapters: Boolean,
+    val downloadChapters: Boolean,
 
     // merged manga this reference is attached to
-    var mergeId: Long?,
+    val mergeId: Long?,
 
     // merged manga url this reference is attached to
     val mergeUrl: String,
 
     // manga id included in the merge this reference is attached to
-    var mangaId: Long?,
+    val mangaId: Long?,
 
     // manga url included in the merge this reference is attached to
     val mangaUrl: String,
diff --git a/i18n/src/main/res/values-fr/strings_sy.xml b/i18n/src/main/res/values-fr/strings_sy.xml
index eaa446401..bba0a9203 100644
--- a/i18n/src/main/res/values-fr/strings_sy.xml
+++ b/i18n/src/main/res/values-fr/strings_sy.xml
@@ -474,9 +474,7 @@
     <string name="download_merged_entry_desc">Activer ou désactiver cette option désactivera ou activera les téléchargements des chapitres pour ce manga</string>
     <string name="merged_references_invalid">Références de fusion non valides</string>
     <string name="merged_chapter_updates_error">Erreur de basculement des mises à jour de chapitre</string>
-    <string name="merged_toggle_chapter_updates_find_error">Impossible de trouver le manga pour basculer les mises à jour de chapitre</string>
     <string name="merged_toggle_download_chapters_error">Erreur de basculement des chapitres de téléchargement</string>
-    <string name="merged_toggle_download_chapters_find_error">Impossible de trouver le manga pour basculer le téléchargements des chapitres</string>
     <string name="allow_deduplication">Autoriser la déduplication:</string>
     <string name="deduplication_mode">Mode de déduplication:</string>
     <string name="deduplication_entry_info">Info manga:</string>
diff --git a/i18n/src/main/res/values-in/strings_sy.xml b/i18n/src/main/res/values-in/strings_sy.xml
index d0d019d01..b925b53ef 100644
--- a/i18n/src/main/res/values-in/strings_sy.xml
+++ b/i18n/src/main/res/values-in/strings_sy.xml
@@ -586,9 +586,7 @@
     <string name="download_merged_entry_desc">Mengalihkan ini akan menonaktifkan atau mengaktifkan unduhan bab untuk manga gabungan ini</string>
     <string name="merged_references_invalid">Referensi penggabungan tidak valid</string>
     <string name="merged_chapter_updates_error">Tombol kesalahan pembaruan bab</string>
-    <string name="merged_toggle_chapter_updates_find_error">Tidak dapat menemukan manga untuk pembaruan bab</string>
     <string name="merged_toggle_download_chapters_error">Tombol kesalahan unduhan bab</string>
-    <string name="merged_toggle_download_chapters_find_error">Tidak dapat menemukan manga untuk unduhan bab</string>
     <string name="allow_deduplication">Izinkan deduplikasi:</string>
     <string name="deduplication_mode">Mode deduplikasi:</string>
     <string name="deduplication_entry_info">Info manga:</string>
diff --git a/i18n/src/main/res/values-pt-rBR/strings_sy.xml b/i18n/src/main/res/values-pt-rBR/strings_sy.xml
index 48ebd6163..92d813ab1 100644
--- a/i18n/src/main/res/values-pt-rBR/strings_sy.xml
+++ b/i18n/src/main/res/values-pt-rBR/strings_sy.xml
@@ -556,9 +556,7 @@
     <string name="download_merged_entry_desc">Mudar isto (des)ativará downloads de capítulo a este mangá juntado</string>
     <string name="merged_references_invalid">Referências juntadas inválidas</string>
     <string name="merged_chapter_updates_error">Alternar erro de atualizações de capítulo</string>
-    <string name="merged_toggle_chapter_updates_find_error">Mangá não pôde ser encontrado para alternar atualizações de capítulo</string>
     <string name="merged_toggle_download_chapters_error">Erro ao alternar downloads de capítulo</string>
-    <string name="merged_toggle_download_chapters_find_error">Mangá não pôde ser encontrado para alternar downloads de capítulo</string>
     <string name="allow_deduplication">Permitir desduplicação:</string>
     <string name="deduplication_mode">Modo da desduplicação:</string>
     <string name="deduplication_entry_info">Informações do mangá:</string>
diff --git a/i18n/src/main/res/values-ru/strings_sy.xml b/i18n/src/main/res/values-ru/strings_sy.xml
index 6fba4e809..03b449b68 100644
--- a/i18n/src/main/res/values-ru/strings_sy.xml
+++ b/i18n/src/main/res/values-ru/strings_sy.xml
@@ -638,9 +638,7 @@
     <string name="download_merged_entry_desc">Переключение этого параметра отключит/включит загрузку глав для этой объеденённой серии</string>
     <string name="merged_references_invalid">Недействительные объеденённые ссылки</string>
     <string name="merged_chapter_updates_error">Ошибка переключения обновлений глав</string>
-    <string name="merged_toggle_chapter_updates_find_error">Не удалось найти серию для переключения обновлений глав</string>
     <string name="merged_toggle_download_chapters_error">Ошибка переключения загрузки глав</string>
-    <string name="merged_toggle_download_chapters_find_error">Не удалось найти серию для переключения загрузки глав</string>
     <string name="allow_deduplication">Разрешить дедупликацию:</string>
     <string name="deduplication_mode">Режим дедупликации:</string>
     <string name="deduplication_entry_info">Сведенья серии:</string>
diff --git a/i18n/src/main/res/values-zh-rCN/strings_sy.xml b/i18n/src/main/res/values-zh-rCN/strings_sy.xml
index 175c7a3ae..15fd68524 100644
--- a/i18n/src/main/res/values-zh-rCN/strings_sy.xml
+++ b/i18n/src/main/res/values-zh-rCN/strings_sy.xml
@@ -593,9 +593,7 @@
     <string name="download_merged_entry_desc">更改此项将禁用或启用此合并漫画的章节下载</string>
     <string name="merged_references_invalid">合并后的引用无效</string>
     <string name="merged_chapter_updates_error">切换章节更新错误</string>
-    <string name="merged_toggle_chapter_updates_find_error">找不到漫画,无法切换章节更新</string>
     <string name="merged_toggle_download_chapters_error">切换下载章节错误</string>
-    <string name="merged_toggle_download_chapters_find_error">找不到漫画来切换章节下载</string>
     <string name="allow_deduplication">允许删除重复数据:</string>
     <string name="deduplication_mode">去重模式:</string>
     <string name="deduplication_entry_info">漫画信息:</string>
diff --git a/i18n/src/main/res/values/strings_sy.xml b/i18n/src/main/res/values/strings_sy.xml
index c27ee04ad..adbc336e4 100644
--- a/i18n/src/main/res/values/strings_sy.xml
+++ b/i18n/src/main/res/values/strings_sy.xml
@@ -630,9 +630,7 @@
     <string name="download_merged_entry_desc">Toggling this will disable or enable chapter downloads for this merged entry</string>
     <string name="merged_references_invalid">Merged references invalid</string>
     <string name="merged_chapter_updates_error">Toggle chapter updates error</string>
-    <string name="merged_toggle_chapter_updates_find_error">Could not find entry to toggle chapter updates</string>
     <string name="merged_toggle_download_chapters_error">Toggle download chapters error</string>
-    <string name="merged_toggle_download_chapters_find_error">Could not find entry to toggle chapter downloads</string>
     <string name="allow_deduplication">Allow deduplication:</string>
     <string name="deduplication_mode">Dedupe mode:</string>
     <string name="deduplication_entry_info">Info entry:</string>