diff --git a/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt b/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt
index f876fe84b1b51e83329a92d52e8c302d6e4b97a8..cc5b9ccbd7fc1a4e1e771ff76ab7f53219284484 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/CirclesDataSource.kt
@@ -79,7 +79,7 @@ class CirclesDataSource @Inject constructor(
         val sharedCircleSpaceId = sharedCircleDataSource.getSharedCirclesSpaceId()
         val ids = getJoinedRoomById(circlesSpaceId)?.roomSummary()?.spaceChildren
             ?.map { it.childRoomId }
-            ?.filter { it != sharedCircleSpaceId }
+            ?.filter { it != sharedCircleSpaceId && getJoinedRoomById(it) != null }
         return ids ?: emptyList()
     }
 
diff --git a/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt b/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt
index 12924c682eba811da14aa4749a92fd0c15ee7531..a2b608e109a8b20560cf16039df8b277d91bc306 100644
--- a/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt
+++ b/core/src/main/java/org/futo/circles/core/room/leave/LeaveRoomDataSource.kt
@@ -29,6 +29,7 @@ class LeaveRoomDataSource @Inject constructor(
         createResult { session?.roomService()?.leaveRoom(roomId) }
 
     suspend fun deleteCircle() = createResult {
+        roomRelationsBuilder.removeFromAllParents(roomId)
         room?.roomSummary()?.spaceChildren?.forEach {
             roomRelationsBuilder.removeRelations(it.childRoomId, roomId)
         }