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 0956f183bec8ab916439e09c46cd205fc6ec653b..6ea09e4176c1702e754868c5544e704df3267033 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
@@ -109,9 +109,9 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
         viewModel.passPhraseLoadingLiveData.observeData(this) {
             loadingDialog.handleLoading(it)
         }
-        viewModel.mediaUsageInfoLiveData.observeData(this) { mediaUsage ->
-            bindMediaUsageProgress(mediaUsage)
-        }
+        viewModel.mediaUsageInfoLiveData.observeResponse(this,
+            error = { bindMediaUsageProgress(null) },
+            success = { bindMediaUsageProgress(it) })
     }
 
     private fun bindMediaUsageProgress(mediaUsage: MediaUsageInfo?) {
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 318be6f70f3eff45d8abad7613afa3d562fbec5a..9a7ffeb2a581b68459bae1193145f1a9addef55d 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
@@ -1,16 +1,15 @@
 package org.futo.circles.feature.settings
 
-import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
 import org.futo.circles.auth.feature.log_in.log_out.LogoutDataSource
 import org.futo.circles.auth.feature.token.RefreshTokenManager
 import org.futo.circles.core.base.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.feature.workspace.SharedCircleDataSource
 import org.futo.circles.core.provider.MatrixSessionProvider
-import org.matrix.android.sdk.api.extensions.tryOrNull
 import org.matrix.android.sdk.internal.session.media.MediaUsageInfo
 import javax.inject.Inject
 
@@ -29,7 +28,7 @@ class SettingsViewModel @Inject constructor(
     val deactivateLiveData = SingleEventLiveData<Response<Unit?>>()
     val navigateToMatrixChangePasswordEvent = SingleEventLiveData<Unit>()
     val changePasswordResponseLiveData = SingleEventLiveData<Response<Unit?>>()
-    val mediaUsageInfoLiveData = MutableLiveData<MediaUsageInfo?>()
+    val mediaUsageInfoLiveData = SingleEventLiveData<Response<MediaUsageInfo?>>()
 
     fun logOut() {
         launchBg {
@@ -64,10 +63,10 @@ class SettingsViewModel @Inject constructor(
     fun getSharedCircleSpaceId(): String? = sharedCircleDataSource.getSharedCirclesSpaceId()
     fun updateMediaUsageInfo() {
         launchBg {
-            val mediaUsageInfo = tryOrNull {
+            val mediaUsageInfoResult = createResult {
                 MatrixSessionProvider.getSessionOrThrow().mediaService().getMediaUsage()
             }
-            mediaUsageInfoLiveData.postValue(mediaUsageInfo)
+            mediaUsageInfoLiveData.postValue(mediaUsageInfoResult)
         }
     }
 }
\ No newline at end of file