diff --git a/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/restore/RestorePassPhraseDataSource.kt b/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/restore/RestorePassPhraseDataSource.kt
index a1b69db08f343e04faa6b50f4710e0a6d3ef5d14..90a8540ad5354dd4e022401c9ab864ca3946df74 100644
--- a/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/restore/RestorePassPhraseDataSource.kt
+++ b/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/restore/RestorePassPhraseDataSource.kt
@@ -14,7 +14,6 @@ import org.matrix.android.sdk.api.util.awaitCallback
 
 class RestorePassPhraseDataSource(private val context: Context) {
 
-    private val session by lazy { MatrixSessionProvider.currentSession }
     val loadingLiveData = MutableLiveData<LoadingData>()
     private val passPhraseLoadingData = LoadingData()
 
@@ -46,15 +45,17 @@ class RestorePassPhraseDataSource(private val context: Context) {
 
     suspend fun getEncryptionAlgorithm(): String? {
         val keyVersion = awaitCallback {
-            session?.cryptoService()?.keysBackupService()?.getCurrentVersion(it)
+            MatrixSessionProvider.currentSession?.cryptoService()?.keysBackupService()
+                ?.getCurrentVersion(it)
         }.toKeysVersionResult()
 
         return keyVersion?.algorithm
     }
 
     suspend fun restoreKeysWithPassPhase(passphrase: String) {
-        val keysBackupService = session?.cryptoService()?.keysBackupService()
-            ?: throw Exception(context.getString(R.string.session_is_not_created))
+        val keysBackupService =
+            MatrixSessionProvider.currentSession?.cryptoService()?.keysBackupService()
+                ?: throw Exception(context.getString(R.string.session_is_not_created))
         val keyVersion = awaitCallback<KeysBackupLastVersionResult> {
             keysBackupService.getCurrentVersion(it)
         }.toKeysVersionResult()
@@ -66,7 +67,7 @@ class RestorePassPhraseDataSource(private val context: Context) {
                     keyVersion,
                     passphrase,
                     null,
-                    session?.myUserId,
+                    MatrixSessionProvider.currentSession?.myUserId,
                     progressObserver,
                     it
                 )
diff --git a/app/src/main/java/org/futo/circles/core/matrix/room/CoreSpacesTreeBuilder.kt b/app/src/main/java/org/futo/circles/core/matrix/room/CoreSpacesTreeBuilder.kt
index a0460bf80e0f2d159df590b1194fa3a7b9ba3332..78ba01bef778e15a614868fadebc3a6095e8937d 100644
--- a/app/src/main/java/org/futo/circles/core/matrix/room/CoreSpacesTreeBuilder.kt
+++ b/app/src/main/java/org/futo/circles/core/matrix/room/CoreSpacesTreeBuilder.kt
@@ -13,7 +13,6 @@ class CoreSpacesTreeBuilder(
     private val context: Context,
     private val createRoomDataSource: CreateRoomDataSource
 ) {
-    private val session by lazy { MatrixSessionProvider.currentSession }
 
     suspend fun createCoreSpacesTree() {
         createRoomDataSource.createRoom(RootSpace())
@@ -27,7 +26,7 @@ class CoreSpacesTreeBuilder(
         createRoomDataSource.createRoom(Gallery(), context.getString(R.string.photos))
     }
 
-    fun isCirclesHierarchyCreated(): Boolean = session?.roomService()
+    fun isCirclesHierarchyCreated(): Boolean = MatrixSessionProvider.currentSession?.roomService()
         ?.getRoomSummaries(roomSummaryQueryParams { excludeType = null })
         ?.firstOrNull { summary -> summary.hasTag(ROOT_SPACE_TAG) } != null