diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
index 3db4fc528bc401ad17f5d34c36fcbabac89a7ec8..a69cbdfe1b2d858a6338548e5e6e9087e979ae4f 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
@@ -46,7 +46,12 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
 
     private fun setupViews() {
         with(binding) {
-            tvLogout.setOnClickListener { withConfirmation(LogOut()) { viewModel.logOut() } }
+            tvLogout.setOnClickListener {
+                withConfirmation(LogOut()) {
+                    loadingDialog.handleLoading(LoadingData(R.string.log_out))
+                    viewModel.logOut()
+                }
+            }
             tvSwitchUser.setOnClickListener { withConfirmation(SwitchUser()) { (activity as? MainActivity)?.stopSyncAndRestart() } }
             ivProfile.setOnClickListener { navigator.navigateToProfile() }
             tvChangePassword.setOnClickListener { viewModel.handleChangePasswordFlow() }
@@ -68,14 +73,12 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
 
     private fun setupObservers() {
         viewModel.logOutLiveData.observeResponse(this,
-            success = { clearSessionAndRestart() }
+            success = { clearSessionAndRestart() },
+            onRequestInvoked = { loadingDialog.dismiss() }
         )
         viewModel.profileLiveData.observeData(this) {
             it.getOrNull()?.let { bindProfile(it) }
         }
-        viewModel.loadingLiveData.observeData(this) {
-            loadingDialog.handleLoading(it)
-        }
         viewModel.deactivateLiveData.observeResponse(this,
             success = { clearSessionAndRestart() },
             error = { showError(getString(org.futo.circles.auth.R.string.invalid_auth)) },
diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
index deac30615ed3162f400e29716c339a330026efb5..74dc58f7b7b6af4ff16d9045a88429b549cadd3c 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
@@ -17,7 +17,6 @@ class SettingsViewModel @Inject constructor(
 ) : ViewModel() {
 
     val profileLiveData = settingsDataSource.profileLiveData
-    val loadingLiveData = logoutDataSource.loadingLiveData
     val passPhraseLoadingLiveData = settingsDataSource.passPhraseLoadingLiveData
     val startReAuthEventLiveData = settingsDataSource.startReAuthEventLiveData
     val logOutLiveData = SingleEventLiveData<Response<Unit?>>()
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/log_out/LogoutDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/log_out/LogoutDataSource.kt
index 1c210520ef44e654d5c6742a35cc898899984dda..95ce658c1636f8e22e635f765ca84d1b08645504 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/log_out/LogoutDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/log_out/LogoutDataSource.kt
@@ -1,22 +1,13 @@
 package org.futo.circles.auth.feature.log_in.log_out
 
-import androidx.lifecycle.MutableLiveData
-import org.futo.circles.auth.R
 import org.futo.circles.core.extensions.createResult
-import org.futo.circles.core.model.LoadingData
 import org.futo.circles.core.provider.MatrixSessionProvider
 import javax.inject.Inject
 
 class LogoutDataSource @Inject constructor() {
 
-    private val session = MatrixSessionProvider.getSessionOrThrow()
-
-    val loadingLiveData = MutableLiveData<LoadingData>()
-
     suspend fun logOut() = createResult {
-        loadingLiveData.postValue(LoadingData(messageId = R.string.log_out))
-        session.signOutService().signOut(true)
-        loadingLiveData.postValue(LoadingData(isLoading = false))
+        MatrixSessionProvider.getSessionOrThrow().signOutService().signOut(true)
     }
 
 }
\ No newline at end of file
diff --git a/core/src/main/java/org/futo/circles/core/room/create/CreateRoomViewModel.kt b/core/src/main/java/org/futo/circles/core/room/create/CreateRoomViewModel.kt
index 53dfd028d8c43ab58ab27f4538ff39b198be5146..27e8457a5650128bc48d3c9affd64f722a950356 100644
--- a/core/src/main/java/org/futo/circles/core/room/create/CreateRoomViewModel.kt
+++ b/core/src/main/java/org/futo/circles/core/room/create/CreateRoomViewModel.kt
@@ -59,14 +59,13 @@ class CreateRoomViewModel @Inject constructor(
         name: String,
         inviteIds: List<String>?,
         isPublicCircle: Boolean
-    ) =
-        dataSource.createRoom(
-            circlesRoom = Circle(),
-            name = name,
-            iconUri = selectedImageLiveData.value,
-            inviteIds = inviteIds,
-            isPublicCircle = isPublicCircle
-        )
+    ) = dataSource.createRoom(
+        circlesRoom = Circle(),
+        name = name,
+        iconUri = selectedImageLiveData.value,
+        inviteIds = inviteIds,
+        isPublicCircle = isPublicCircle
+    )
 
     private suspend fun createGallery(name: String) = dataSource.createRoom(
         circlesRoom = Gallery(),