diff --git a/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt b/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt
index 67e55554721370de0706e6d316380531a4aa8c51..311d5febc9164dfa15150b6016b046de1ec0f945 100644
--- a/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt
+++ b/core/src/main/java/org/futo/circles/core/extensions/MatrixSessionExtensions.kt
@@ -6,6 +6,7 @@ import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.SupervisorJob
 import kotlinx.coroutines.flow.mapLatest
+import org.matrix.android.sdk.api.extensions.tryOrNull
 import org.matrix.android.sdk.api.session.Session
 import org.matrix.android.sdk.api.session.content.ContentUrlResolver
 import org.matrix.android.sdk.api.session.getRoom
@@ -50,8 +51,6 @@ fun Session.getUserIdsToExclude() = mutableListOf(
 
 fun Session.getServerDomain() = myUserId.substringAfter(":")
 
-suspend fun Session.getOrFetchUser(userId: String): User =
-    getUser(userId) ?: userService().resolveUser(userId)
 
 fun Session.getKnownUsersFlow() = roomService().getRoomSummariesLive(roomSummaryQueryParams {
     excludeType = null
@@ -64,7 +63,9 @@ fun Session.getKnownUsersFlow() = roomService().getRoomSummariesLive(roomSummary
                 ?.getRoomMembers(roomMemberQueryParams {
                     memberships = listOf(Membership.JOIN)
                 })?.map { it.userId } ?: emptyList()
-            joinedMembersIds.forEach { knowUsers.add(getOrFetchUser(it)) }
+            joinedMembersIds.forEach {
+                getUser(it)?.let { user -> knowUsers.add(user) }
+            }
         }
         knowUsers.toList().filterNot { getUserIdsToExclude().contains(it.userId) }
     }