diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesDataSource.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesDataSource.kt
deleted file mode 100644
index 15695a2438ce3405987fef23a33e9c82e50b64cd..0000000000000000000000000000000000000000
--- a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesDataSource.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.futo.circles.feature.circles.setup
-
-import android.content.Context
-import android.net.Uri
-import androidx.lifecycle.MutableLiveData
-import dagger.hilt.android.qualifiers.ApplicationContext
-import org.futo.circles.R
-import org.futo.circles.core.extensions.notEmptyDisplayName
-import org.futo.circles.core.provider.MatrixSessionProvider
-import org.futo.circles.model.SetupCircleListItem
-import org.matrix.android.sdk.api.session.getUser
-import javax.inject.Inject
-
-class SetupCirclesDataSource @Inject constructor(
-    @ApplicationContext private val context: Context
-) {
-
-    val circlesLiveData = MutableLiveData(getInitialCirclesList())
-
-    private fun getInitialCirclesList(): List<SetupCircleListItem> =
-        context.resources.getStringArray(R.array.setup_circles_list).mapIndexed { i, name ->
-            SetupCircleListItem(
-                id = i,
-                name = name,
-                userName = getUserName()
-            )
-        }
-
-    private fun getUserName(): String {
-        val session = MatrixSessionProvider.currentSession
-        val userId = session?.myUserId ?: return ""
-        return session.getUser(userId)?.notEmptyDisplayName() ?: ""
-    }
-
-    fun addCirclesCoverImage(id: Int, uri: Uri) {
-        val list = circlesLiveData.value?.map {
-            if (it.id == id) it.copy(coverUri = uri) else it
-        } ?: emptyList()
-
-        circlesLiveData.postValue(list)
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesFragment.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesFragment.kt
deleted file mode 100644
index 8c309530055499e14b8ab7af042c80a928a6813e..0000000000000000000000000000000000000000
--- a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesFragment.kt
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.futo.circles.feature.circles.setup
-
-import android.os.Bundle
-import android.view.View
-import androidx.fragment.app.Fragment
-import androidx.fragment.app.viewModels
-import androidx.navigation.fragment.findNavController
-import androidx.recyclerview.widget.DividerItemDecoration
-import by.kirich1409.viewbindingdelegate.viewBinding
-import dagger.hilt.android.AndroidEntryPoint
-import org.futo.circles.R
-import org.futo.circles.core.extensions.navigateSafe
-import org.futo.circles.core.extensions.observeData
-import org.futo.circles.core.extensions.observeResponse
-import org.futo.circles.core.extensions.showError
-import org.futo.circles.core.extensions.showSuccess
-import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.core.model.LoadingData
-import org.futo.circles.core.picker.helper.MediaPickerHelper
-import org.futo.circles.core.view.LoadingDialog
-import org.futo.circles.databinding.FragmentSetupCirclesBinding
-import org.futo.circles.feature.circles.setup.list.SetupCirclesAdapter
-import org.futo.circles.model.SetupCircleListItem
-
-@AndroidEntryPoint
-class SetupCirclesFragment : Fragment(R.layout.fragment_setup_circles), HasLoadingState {
-
-    override val fragment: Fragment = this
-    private val viewModel by viewModels<SetupCirclesViewModel>()
-    private val binding by viewBinding(FragmentSetupCirclesBinding::bind)
-    private val listAdapter by lazy { SetupCirclesAdapter(::onCircleListItemClicked) }
-    private val mediaPickerHelper = MediaPickerHelper(this, isGalleryAvailable = false)
-    private val loadingDialog by lazy { LoadingDialog(requireContext()) }
-
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-        setupViews()
-        setupObservers()
-    }
-
-    private fun setupViews() {
-        with(binding) {
-            rvSetupCircles.apply {
-                addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
-                adapter = listAdapter
-            }
-            btnSkip.setOnClickListener { navigateToBottomMenuScreen() }
-            btnSave.setOnClickListener {
-                showLoading()
-                viewModel.createCircles()
-            }
-        }
-    }
-
-    private fun setupObservers() {
-        viewModel.circlesLiveData.observeData(this, ::setCirclesList)
-        viewModel.createCirclesResponseLiveData.observeResponse(this,
-            success = {
-                loadingDialog.dismiss()
-                showSuccess(getString(R.string.circles_created))
-                navigateToBottomMenuScreen()
-            },
-            error = {
-                showError(it)
-                loadingDialog.dismiss()
-            }
-        )
-    }
-
-    private fun setCirclesList(list: List<SetupCircleListItem>) {
-        listAdapter.submitList(list)
-    }
-
-    private fun onCircleListItemClicked(circle: SetupCircleListItem) {
-        mediaPickerHelper.showMediaPickerDialog(
-            onImageSelected = { id, uri -> viewModel.addImageForCircle(id, uri) },
-            id = circle.id
-        )
-    }
-
-    private fun showLoading() {
-        startLoading(binding.btnSave)
-        loadingDialog.handleLoading(LoadingData(messageId = R.string.configuring_workspace))
-    }
-
-    private fun navigateToBottomMenuScreen() {
-        findNavController().navigateSafe(SetupCirclesFragmentDirections.toHomeFragment())
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesViewModel.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesViewModel.kt
deleted file mode 100644
index c9675b1694f2996d79cd123b08eacbcb8c554aaa..0000000000000000000000000000000000000000
--- a/app/src/main/java/org/futo/circles/feature/circles/setup/SetupCirclesViewModel.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.futo.circles.feature.circles.setup
-
-import android.net.Uri
-import androidx.lifecycle.ViewModel
-import dagger.hilt.android.lifecycle.HiltViewModel
-import kotlinx.coroutines.delay
-import org.futo.circles.core.CREATE_ROOM_DELAY
-import org.futo.circles.core.SingleEventLiveData
-import org.futo.circles.core.extensions.Response
-import org.futo.circles.core.extensions.createResult
-import org.futo.circles.core.extensions.launchBg
-import org.futo.circles.core.room.CreateRoomDataSource
-import javax.inject.Inject
-
-@HiltViewModel
-class SetupCirclesViewModel @Inject constructor(
-    private val setupCirclesDataSource: SetupCirclesDataSource,
-    private val createRoomDataSource: CreateRoomDataSource
-) : ViewModel() {
-
-    val circlesLiveData = setupCirclesDataSource.circlesLiveData
-    val createCirclesResponseLiveData = SingleEventLiveData<Response<Unit?>>()
-
-    fun createCircles() {
-        val circlesList = circlesLiveData.value ?: return
-        val lastItemIndex = circlesList.size - 1
-        launchBg {
-            val response = createResult {
-                circlesList.forEachIndexed { i, item ->
-                    createRoomDataSource.createCircleWithTimeline(
-                        name = item.name,
-                        iconUri = item.coverUri,
-                        null, false
-                    )
-                    if (i != lastItemIndex) delay(CREATE_ROOM_DELAY)
-                }
-            }
-            createCirclesResponseLiveData.postValue(response)
-        }
-    }
-
-    fun addImageForCircle(id: Int?, uri: Uri) {
-        id?.let { setupCirclesDataSource.addCirclesCoverImage(it, uri) }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesAdapter.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesAdapter.kt
deleted file mode 100644
index 661baab8d99773d8ef4decf0f88efa3e62b7bc0d..0000000000000000000000000000000000000000
--- a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesAdapter.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.futo.circles.feature.circles.setup.list
-
-
-import android.view.ViewGroup
-import org.futo.circles.core.list.BaseRvAdapter
-import org.futo.circles.model.SetupCircleListItem
-
-class SetupCirclesAdapter(
-    private val onCircleClicked: (SetupCircleListItem) -> Unit
-) : BaseRvAdapter<SetupCircleListItem, SetupCirclesViewHolder>(DefaultIdEntityCallback()) {
-
-    override fun onCreateViewHolder(
-        parent: ViewGroup,
-        viewType: Int
-    ): SetupCirclesViewHolder = SetupCirclesViewHolder(
-        parent = parent,
-        onCircleClicked = { position -> onCircleClicked(getItem(position)) }
-    )
-
-    override fun onBindViewHolder(holder: SetupCirclesViewHolder, position: Int) {
-        holder.bind(getItem(position))
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesViewHolder.kt b/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesViewHolder.kt
deleted file mode 100644
index d290d4a1d05de311360020a5971c18cfdf227b5a..0000000000000000000000000000000000000000
--- a/app/src/main/java/org/futo/circles/feature/circles/setup/list/SetupCirclesViewHolder.kt
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.futo.circles.feature.circles.setup.list
-
-import android.view.ViewGroup
-import androidx.recyclerview.widget.RecyclerView
-import org.futo.circles.R
-import org.futo.circles.core.extensions.onClick
-import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.ListItemSetupCircleBinding
-import org.futo.circles.model.SetupCircleListItem
-
-class SetupCirclesViewHolder(
-    parent: ViewGroup,
-    onCircleClicked: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, ListItemSetupCircleBinding::inflate)) {
-
-    private companion object : ViewBindingHolder
-
-    private val binding = baseBinding as ListItemSetupCircleBinding
-
-    init {
-        onClick(itemView) { position -> onCircleClicked(position) }
-    }
-
-    fun bind(data: SetupCircleListItem) {
-        with(binding) {
-            data.coverUri?.let { ivCircleCover.setImageURI(it) }
-                ?: ivCircleCover.setImageResource(R.drawable.add_image_placeholder)
-
-            tvCircleName.text = data.name
-            tvUserName.text = data.userName
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_setup_circles.xml b/app/src/main/res/layout/fragment_setup_circles.xml
deleted file mode 100644
index 9e3a40256a8609d71d3795b9df73bdbb9233bcc5..0000000000000000000000000000000000000000
--- a/app/src/main/res/layout/fragment_setup_circles.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-
-    <com.google.android.material.appbar.MaterialToolbar
-        android:id="@+id/toolbar"
-        android:layout_width="0dp"
-        android:layout_height="?attr/actionBarSize"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:title="@string/setup_circles"
-        app:titleCentered="true" />
-
-    <View
-        android:id="@+id/toolbarDivider"
-        android:layout_width="0dp"
-        android:layout_height="@dimen/divider_height"
-        android:background="@color/divider_color"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/toolbar" />
-
-    <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/guidelineStart"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        app:layout_constraintGuide_begin="36dp" />
-
-    <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/guidelineEnd"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        app:layout_constraintGuide_end="36dp" />
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rvSetupCircles"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
-        app:layout_constraintBottom_toTopOf="@id/tvEncryptionWarning"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/toolbarDivider" />
-
-    <TextView
-        android:id="@+id/tvEncryptionWarning"
-        style="@style/footNote"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="16dp"
-        android:drawablePadding="8dp"
-        android:text="@string/circle_encryption_warning"
-        android:textColor="@color/yellow"
-        app:drawableStartCompat="@drawable/ic_info"
-        app:drawableTint="@color/yellow"
-        app:layout_constraintBottom_toTopOf="@id/btnSave"
-        app:layout_constraintEnd_toEndOf="@id/guidelineEnd"
-        app:layout_constraintStart_toStartOf="@id/guidelineStart" />
-
-    <org.futo.circles.core.view.LoadingButton
-        android:id="@+id/btnSave"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="24dp"
-        android:layout_marginTop="16dp"
-        android:layout_marginBottom="24dp"
-        android:text="@string/save"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="@id/guidelineEnd"
-        app:layout_constraintStart_toEndOf="@id/btnSkip" />
-
-    <com.google.android.material.button.MaterialButton
-        android:id="@+id/btnSkip"
-        style="@style/NegativeButtonStyle"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:text="@string/skip"
-        app:layout_constraintBottom_toBottomOf="@id/btnSave"
-        app:layout_constraintEnd_toStartOf="@id/btnSave"
-        app:layout_constraintStart_toStartOf="@id/guidelineStart" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_setup_circle.xml b/app/src/main/res/layout/list_item_setup_circle.xml
deleted file mode 100644
index 06ae73afb675c6ee4b13666cc4170688ebe354ab..0000000000000000000000000000000000000000
--- a/app/src/main/res/layout/list_item_setup_circle.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="?selectableItemBackground"
-    android:clickable="true"
-    android:focusable="true"
-    android:padding="4dp">
-
-
-    <com.google.android.material.imageview.ShapeableImageView
-        android:id="@+id/ivCircleCover"
-        android:layout_width="@dimen/group_icon_size"
-        android:layout_height="@dimen/group_icon_size"
-        android:scaleType="centerCrop"
-        android:src="@drawable/add_image_placeholder"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.GroupIconRadius" />
-
-    <TextView
-        android:id="@+id/tvCircleName"
-        style="@style/title2"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:ellipsize="end"
-        android:gravity="center"
-        android:lines="1"
-        app:layout_constraintBottom_toTopOf="@id/tvUserName"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@id/ivCircleCover"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintVertical_chainStyle="packed"
-        tools:text="texsdt" />
-
-    <TextView
-        android:id="@+id/tvUserName"
-        style="@style/subheadline"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="4dp"
-        android:ellipsize="end"
-        android:gravity="center"
-        android:lines="1"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="@id/tvCircleName"
-        app:layout_constraintTop_toBottomOf="@id/tvCircleName"
-        tools:text="texsdt" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/navigation/nav_graph_start_host.xml b/app/src/main/res/navigation/nav_graph_start_host.xml
index 2786cacc4ed47989321accf1d8441e449d03cfd6..419cdf7644f6508a507d49ed08438e90b173a10f 100644
--- a/app/src/main/res/navigation/nav_graph_start_host.xml
+++ b/app/src/main/res/navigation/nav_graph_start_host.xml
@@ -54,18 +54,6 @@
         </action>
     </fragment>
 
-    <fragment
-        android:id="@+id/setupCirclesFragment"
-        android:name="org.futo.circles.feature.circles.setup.SetupCirclesFragment"
-        android:label="SetupCirclesFragment"
-        tools:layout="@layout/fragment_setup_circles">
-        <action
-            android:id="@+id/to_homeFragment"
-            app:destination="@id/homeFragment"
-            app:popUpTo="@id/setupCirclesFragment"
-            app:popUpToInclusive="true" />
-    </fragment>
-
     <include app:graph="@navigation/nav_graph_auth" />
 
     <dialog
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt
index 7e940c2afe00975ec49068c1eb95a96e3391f814..4b0999d38f2aa46a7270270245ec1e08fdf97797 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LogInStagesFragment.kt
@@ -17,7 +17,6 @@ import org.futo.circles.auth.base.LoginStageNavigationEvent
 import org.futo.circles.auth.databinding.FragmentLoginStagesBinding
 import org.futo.circles.auth.feature.log_in.recovery.EnterPassPhraseDialog
 import org.futo.circles.auth.feature.log_in.recovery.EnterPassPhraseDialogListener
-import org.futo.circles.core.CirclesAppConfig
 import org.futo.circles.core.extensions.navigateSafe
 import org.futo.circles.core.extensions.observeData
 import org.futo.circles.core.extensions.observeResponse
@@ -79,15 +78,11 @@ class LogInStagesFragment : Fragment(R.layout.fragment_login_stages),
         viewModel.passPhraseLoadingLiveData.observeData(this) {
             loadingDialog.handleLoading(it)
         }
-        viewModel.spacesTreeLoadingLiveData.observeData(this) {
-            loadingDialog.handleLoading(it)
-        }
         viewModel.loginNavigationLiveData.observeData(this) { event ->
             when (event) {
-                LoginNavigationEvent.Main -> navigateToBottomMenuFragment()
-                LoginNavigationEvent.SetupCircles -> navigateToSetupCirclesOrHome()
+                LoginNavigationEvent.Main -> navigateToHome()
                 LoginNavigationEvent.PassPhrase -> showPassPhraseDialog()
-                else -> navigateToBottomMenuFragment()
+                else -> navigateToHome()
             }
         }
         viewModel.messageEventLiveData.observeData(this) { messageId ->
@@ -123,19 +118,10 @@ class LogInStagesFragment : Fragment(R.layout.fragment_login_stages),
             }
     }
 
-    private fun navigateToBottomMenuFragment() {
+    private fun navigateToHome() {
         findNavController().navigateSafe(LogInStagesFragmentDirections.toHomeFragment())
     }
 
-    private fun navigateToSetupCirclesOrHome() {
-        findNavController().navigateSafe(
-            if (CirclesAppConfig.isSetupCirclesEnabled)
-                LogInStagesFragmentDirections.toSetupCirclesFragment()
-            else
-                LogInStagesFragmentDirections.toHomeFragment()
-        )
-    }
-
     private fun showDiscardDialog() {
         showDialog(
             titleResIdRes = R.string.discard_current_login_progress,
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt
index 49b1b796c911006892b76729d0b702fa5a771f70..f94e6f2528d4b2aad732b561c92f31706eb246ff 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesDataSource.kt
@@ -20,20 +20,18 @@ import org.matrix.android.sdk.api.util.JsonDict
 import javax.inject.Inject
 import javax.inject.Singleton
 
-enum class LoginNavigationEvent { Main, SetupCircles, PassPhrase }
+enum class LoginNavigationEvent { Main, PassPhrase }
 
 @Singleton
 class LoginStagesDataSource @Inject constructor(
     @ApplicationContext private val context: Context,
     private val restoreBackupDataSource: RestoreBackupDataSource,
-    private val coreSpacesTreeBuilder: CoreSpacesTreeBuilder,
     private val encryptionAlgorithmHelper: EncryptionAlgorithmHelper,
     private val createPassPhraseDataSource: CreatePassPhraseDataSource
 ) : BaseLoginStagesDataSource(context) {
 
     val loginNavigationLiveData = SingleEventLiveData<LoginNavigationEvent>()
     val passPhraseLoadingLiveData = restoreBackupDataSource.loadingLiveData
-    val spacesTreeLoadingLiveData = coreSpacesTreeBuilder.loadingLiveData
     val messageEventLiveData = SingleEventLiveData<Int>()
 
     override suspend fun performLoginStage(
@@ -112,17 +110,12 @@ class LoginStagesDataSource @Inject constructor(
     private suspend fun handleRestoreResult(restoreResult: Response<Unit>): Response<Unit> {
         when (restoreResult) {
             is Response.Error -> loginNavigationLiveData.postValue(LoginNavigationEvent.PassPhrase)
-            is Response.Success -> createSpacesTreeIfNotExist()
+            is Response.Success -> navigateToMain()
         }
         return restoreResult
     }
 
-    suspend fun createSpacesTreeIfNotExist() {
-        val isCirclesCreated = coreSpacesTreeBuilder.isCirclesHierarchyCreated()
-        if (!isCirclesCreated) createResult { coreSpacesTreeBuilder.createCoreSpacesTree() }
-        loginNavigationLiveData.postValue(
-            if (isCirclesCreated) LoginNavigationEvent.Main
-            else LoginNavigationEvent.SetupCircles
-        )
+    fun navigateToMain() {
+        loginNavigationLiveData.postValue(LoginNavigationEvent.Main)
     }
 }
\ No newline at end of file
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt
index 2b98a27c77aa0a092b0b8e573f6e5c66332c2817..610bf135a5491f278f8e915eadf65cd604da49e4 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/stages/LoginStagesViewModel.kt
@@ -17,7 +17,6 @@ class LoginStagesViewModel @Inject constructor(
     val restoreKeysLiveData = org.futo.circles.core.SingleEventLiveData<Response<Unit>>()
     val loginNavigationLiveData = loginStagesDataSource.loginNavigationLiveData
     val passPhraseLoadingLiveData = loginStagesDataSource.passPhraseLoadingLiveData
-    val spacesTreeLoadingLiveData = loginStagesDataSource.spacesTreeLoadingLiveData
     val messageEventLiveData = loginStagesDataSource.messageEventLiveData
 
     fun restoreBackupWithPassPhrase(passphrase: String) {
@@ -41,7 +40,7 @@ class LoginStagesViewModel @Inject constructor(
     }
 
     fun onDoNotRestoreBackup() {
-        launchBg { loginStagesDataSource.createSpacesTreeIfNotExist() }
+        loginStagesDataSource.navigateToMain()
     }
 
 }
\ No newline at end of file
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt
index bc4330ed24c7398cc1b436940cfac027383b9e14..761dc679a9db9fb908c6981ecf8a1cb818640c07 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/profile/setup/SetupProfileFragment.kt
@@ -10,7 +10,6 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.auth.R
 import org.futo.circles.auth.databinding.FragmentSetupProfileBinding
-import org.futo.circles.core.CirclesAppConfig
 import org.futo.circles.core.extensions.getText
 import org.futo.circles.core.extensions.navigateSafe
 import org.futo.circles.core.extensions.observeData
@@ -35,7 +34,7 @@ class SetupProfileFragment : Fragment(R.layout.fragment_setup_profile), HasLoadi
 
     private fun setupViews() {
         with(binding) {
-            btnSkip.setOnClickListener { navigateToSetupCirclesOrHome() }
+            btnSkip.setOnClickListener { navigateToHome() }
             btnSave.setOnClickListener {
                 startLoading(btnSave)
                 viewModel.saveProfileInfo(tilDisplayName.getText())
@@ -62,17 +61,12 @@ class SetupProfileFragment : Fragment(R.layout.fragment_setup_profile), HasLoadi
         }
         viewModel.saveProfileResponseLiveData.observeResponse(
             this,
-            success = { navigateToSetupCirclesOrHome() }
+            success = { navigateToHome() }
         )
     }
 
-    private fun navigateToSetupCirclesOrHome() {
-        findNavController().navigateSafe(
-            if (CirclesAppConfig.isSetupCirclesEnabled)
-                SetupProfileFragmentDirections.toSetupCirclesFragment()
-            else
-                SetupProfileFragmentDirections.toHomeFragment()
-        )
+    private fun navigateToHome() {
+        findNavController().navigateSafe(SetupProfileFragmentDirections.toHomeFragment())
     }
 
     private fun setSaveButtonEnabled() {
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt
index 2ea456317e8a6d3e0662ce2c3e7d57c9b4916bb8..df076973c395c64e2a216cbbfff25325934c0c13 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt
@@ -26,7 +26,6 @@ enum class SignUpNavigationEvents { TokenValidation, Subscription, AcceptTerm, V
 @Singleton
 class SignUpDataSource @Inject constructor(
     @ApplicationContext private val context: Context,
-    private val coreSpacesTreeBuilder: CoreSpacesTreeBuilder,
     private val createPassPhraseDataSource: CreatePassPhraseDataSource,
     private val preferencesProvider: PreferencesProvider
 ) {
@@ -35,7 +34,6 @@ class SignUpDataSource @Inject constructor(
     val navigationLiveData = SingleEventLiveData<SignUpNavigationEvents>()
     val finishRegistrationLiveData = SingleEventLiveData<Response<Unit>>()
     val passPhraseLoadingLiveData = createPassPhraseDataSource.loadingLiveData
-    val spaceTreeLoadingLiveData = coreSpacesTreeBuilder.loadingLiveData
 
     val stagesToComplete = mutableListOf<Stage>()
 
@@ -116,7 +114,6 @@ class SignUpDataSource @Inject constructor(
         MatrixSessionProvider.awaitForSessionStart(session)
         preferencesProvider.setShouldShowAllExplanations()
         createPassPhraseDataSource.createPassPhraseBackup()
-        coreSpacesTreeBuilder.createCoreSpacesTree()
         BSSpekeClientProvider.clear()
     }
 
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt
index bd780308449cc10cb08ff01bceba439192794929..3c62a42be44265b7e7ad340ed56f7d3b5cdd9747 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpFragment.kt
@@ -56,9 +56,6 @@ class SignUpFragment : Fragment(R.layout.fragment_sign_up),
         viewModel.passPhraseLoadingLiveData.observeData(this) {
             loadingDialog.handleLoading(it)
         }
-        viewModel.spaceTreeLoadingLiveData.observeData(this) {
-            loadingDialog.handleLoading(it)
-        }
     }
 
 
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt
index e47ecf65446861a51ecc9c24d460040c09cb109a..039bc2140d3cb7fd01c5e9e704fb3e3cc87efc02 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpViewModel.kt
@@ -11,7 +11,6 @@ class SignUpViewModel @Inject constructor(
 
     val subtitleLiveData = datasource.subtitleLiveData
     val passPhraseLoadingLiveData = datasource.passPhraseLoadingLiveData
-    val spaceTreeLoadingLiveData = datasource.spaceTreeLoadingLiveData
     val finishRegistrationLiveData = datasource.finishRegistrationLiveData
     val navigationLiveData = datasource.navigationLiveData
 
diff --git a/auth/src/main/res/navigation/nav_graph_auth.xml b/auth/src/main/res/navigation/nav_graph_auth.xml
index 130ebbc3140b4318758efaf5e6dbf5659dfdd311..1f5171f2517878bbea75b280f4742d1f98d14e73 100644
--- a/auth/src/main/res/navigation/nav_graph_auth.xml
+++ b/auth/src/main/res/navigation/nav_graph_auth.xml
@@ -32,11 +32,6 @@
             app:destination="@id/homeFragment"
             app:popUpTo="@id/logInFragment"
             app:popUpToInclusive="true" />
-        <action
-            android:id="@+id/to_setupCirclesFragment"
-            app:destination="@id/setupCirclesFragment"
-            app:popUpTo="@id/logInFragment"
-            app:popUpToInclusive="true" />
     </fragment>
     <fragment
         android:id="@+id/signUpFragment"
@@ -54,11 +49,7 @@
         android:name="org.futo.circles.auth.feature.profile.setup.SetupProfileFragment"
         android:label="SetupProfileFragment"
         tools:layout="@layout/fragment_setup_profile">
-        <action
-            android:id="@+id/to_setupCirclesFragment"
-            app:destination="@id/setupCirclesFragment"
-            app:popUpTo="@id/setupProfileFragment"
-            app:popUpToInclusive="true" />
+
         <action
             android:id="@+id/to_homeFragment"
             app:destination="@id/homeFragment"
diff --git a/auth/src/main/res/values/ids.xml b/auth/src/main/res/values/ids.xml
index a3af135fe696c984e82c231d67b9955a9ccac20f..fdc7badf4aca669f2de11019221d4254bc9cf6b4 100644
--- a/auth/src/main/res/values/ids.xml
+++ b/auth/src/main/res/values/ids.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <item name="homeFragment" type="id" />
-    <item name="setupCirclesFragment" type="id" />
 </resources>
\ No newline at end of file
diff --git a/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt b/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt
index 9e3cc66bccf97de53dc1418dc4c2f88953080ac8..25844cca32f78c621fa4ab64f247cb2929358afd 100644
--- a/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt
+++ b/core/src/main/java/org/futo/circles/core/CirclesAppConfig.kt
@@ -28,9 +28,6 @@ object CirclesAppConfig {
     var isRageshakeEnabled = false
         private set
 
-    var isSetupCirclesEnabled = true
-        private set
-
     data class Initializer(
         private var appId: String? = null,
         private var version: String? = null,
@@ -40,8 +37,7 @@ object CirclesAppConfig {
         private var euDomain: String? = null,
         private var subscriptionEnabled: Boolean = false,
         private var mediaBackupEnabled: Boolean = false,
-        private var rageshakeEnabled: Boolean = false,
-        private var setupCirclesEnabled: Boolean = true
+        private var rageshakeEnabled: Boolean = false
     ) {
 
         fun buildConfigInfo(appId: String, version: String, flavour: String = "empty") =
@@ -64,8 +60,6 @@ object CirclesAppConfig {
 
         fun isRageshakeEnabled(isEnabled: Boolean) = apply { this.rageshakeEnabled = isEnabled }
 
-        fun isSetupCirclesEnabled(isEnabled: Boolean) =
-            apply { this.setupCirclesEnabled = isEnabled }
 
         fun init() {
             CirclesAppConfig.appId = appId?.takeIf { it.isNotEmpty() }
@@ -89,7 +83,6 @@ object CirclesAppConfig {
             isSubscriptionsEnabled = subscriptionEnabled
             isMediaBackupEnabled = mediaBackupEnabled
             isRageshakeEnabled = rageshakeEnabled
-            isSetupCirclesEnabled = setupCirclesEnabled
         }
     }