diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/deeplink/DeepLinkScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/deeplink/DeepLinkScreenModel.kt
index 5bef14675b..892d4c0f24 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/deeplink/DeepLinkScreenModel.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/deeplink/DeepLinkScreenModel.kt
@@ -15,7 +15,6 @@ import kotlinx.coroutines.flow.update
 import tachiyomi.core.common.util.lang.launchIO
 import tachiyomi.domain.chapter.interactor.GetChapterByUrlAndMangaId
 import tachiyomi.domain.chapter.model.Chapter
-import tachiyomi.domain.manga.interactor.GetMangaByUrlAndSourceId
 import tachiyomi.domain.manga.interactor.NetworkToLocalManga
 import tachiyomi.domain.manga.model.Manga
 import tachiyomi.domain.source.service.SourceManager
@@ -27,7 +26,6 @@ class DeepLinkScreenModel(
     private val sourceManager: SourceManager = Injekt.get(),
     private val networkToLocalManga: NetworkToLocalManga = Injekt.get(),
     private val getChapterByUrlAndMangaId: GetChapterByUrlAndMangaId = Injekt.get(),
-    private val getMangaByUrlAndSourceId: GetMangaByUrlAndSourceId = Injekt.get(),
     private val syncChaptersWithSource: SyncChaptersWithSource = Injekt.get(),
 ) : StateScreenModel<DeepLinkScreenModel.State>(State.Loading) {
 
@@ -74,8 +72,7 @@ class DeepLinkScreenModel(
     }
 
     private suspend fun getMangaFromSManga(sManga: SManga, sourceId: Long): Manga {
-        return getMangaByUrlAndSourceId.await(sManga.url, sourceId)
-            ?: networkToLocalManga.await(sManga.toDomainManga(sourceId))
+        return networkToLocalManga.await(sManga.toDomainManga(sourceId))
     }
 
     sealed interface State {
diff --git a/domain/src/main/java/tachiyomi/domain/manga/interactor/NetworkToLocalManga.kt b/domain/src/main/java/tachiyomi/domain/manga/interactor/NetworkToLocalManga.kt
index 5ca3fb647b..f5d8f396a7 100644
--- a/domain/src/main/java/tachiyomi/domain/manga/interactor/NetworkToLocalManga.kt
+++ b/domain/src/main/java/tachiyomi/domain/manga/interactor/NetworkToLocalManga.kt
@@ -1,6 +1,7 @@
 package tachiyomi.domain.manga.interactor
 
 import tachiyomi.domain.manga.model.Manga
+import tachiyomi.domain.manga.model.toMangaUpdate
 import tachiyomi.domain.manga.repository.MangaRepository
 
 class NetworkToLocalManga(
@@ -15,9 +16,21 @@ class NetworkToLocalManga(
                 manga.copy(id = id!!)
             }
             !localManga.favorite -> {
-                // if the manga isn't a favorite, set its display title from source
-                // if it later becomes a favorite, updated title will go to db
-                localManga.copy(title = manga.title)
+                // if the manga isn't a favorite, update new info from source to db
+                val newThumbnail = manga.thumbnailUrl?.takeUnless { it.isBlank() }
+                val mangaUpdate = if (manga.initialized) {
+                    manga.toMangaUpdate().copy(
+                        id = localManga.id,
+                        thumbnailUrl = newThumbnail,
+                    )
+                } else {
+                    localManga.toMangaUpdate().copy(
+                        title = manga.title,
+                        thumbnailUrl = newThumbnail,
+                    )
+                }
+                mangaRepository.update(mangaUpdate)
+                manga.copy(id = localManga.id)
             }
             else -> {
                 localManga