diff --git a/libs/database/src/main/java/org/fdroid/index/RepoManager.kt b/libs/database/src/main/java/org/fdroid/index/RepoManager.kt index 5cf0c1904..567953511 100644 --- a/libs/database/src/main/java/org/fdroid/index/RepoManager.kt +++ b/libs/database/src/main/java/org/fdroid/index/RepoManager.kt @@ -188,7 +188,13 @@ constructor( if (addedRepo != null) withContext(Dispatchers.Main) { // as soon as the list has loaded, it should never be null - _repositoriesState.update { it!!.toMutableList().apply { add(addedRepo) } } + _repositoriesState.update { repos -> + if (repos!!.none { it.repoId == addedRepo.repoId }) { + repos.toMutableList().apply { add(addedRepo) } + } else { + repos + } + } } } }