diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
index 1f1d95830cd5b64dcf5ccaa095f452ba6527b25f..59c20629904c2e17ebb0b61cd7a8e608b4fae198 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
@@ -53,6 +53,7 @@ import de.kuschku.libquassel.connection.QuasselSecurityException
 import de.kuschku.libquassel.protocol.*
 import de.kuschku.libquassel.protocol.coresetup.CoreSetupData
 import de.kuschku.libquassel.protocol.message.HandshakeMessage
+import de.kuschku.libquassel.quassel.syncables.Identity
 import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork.PortDefaults.PORT_PLAINTEXT
 import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork.PortDefaults.PORT_SSL
 import de.kuschku.libquassel.session.Error
@@ -806,9 +807,10 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
       state == ConnectionState.CONNECTED
     }.filter { it }
 
-    val missingIdentity: Observable<Boolean> = modelHelper.connectedSession.map { session ->
-      session.orNull()?.identities.isNullOrEmpty()
-    }
+    val missingIdentity: Observable<Boolean> = modelHelper.connectedSession
+      .mapSwitchMap(ISession::liveIdentities)
+      .mapMap(Map<IdentityId, Identity>::isEmpty)
+      .mapOrElse(false)
 
     val missingFeatures: Observable<List<MissingFeature>> =
       modelHelper.connectedSession.mapMap { session ->