diff --git a/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/AuthConfirmationProvider.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/AuthConfirmationProvider.kt
index a3eb2d6204aedd4cf84a6fb10d845aad556a870b..ee72c75577abea9dac5b1940b647f65d2ea43b20 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/AuthConfirmationProvider.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/AuthConfirmationProvider.kt
@@ -7,6 +7,8 @@ import org.futo.circles.auth.feature.uia.UIADataSource
 import org.futo.circles.auth.feature.uia.UIADataSourceProvider
 import org.futo.circles.auth.model.UIAFlowType
 import org.futo.circles.core.base.SingleEventLiveData
+import org.futo.circles.core.extensions.coroutineScope
+import org.futo.circles.core.provider.MatrixSessionProvider
 import org.matrix.android.sdk.api.auth.UIABaseAuth
 import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor
 import org.matrix.android.sdk.api.auth.registration.RegistrationFlowResponse
@@ -33,7 +35,7 @@ class AuthConfirmationProvider @Inject constructor(
         if (flowResponse.completedStages.isNullOrEmpty()) {
             val stages = flowResponse.toFlowsWithStages().firstOrNull() ?: emptyList()
             startReAuthEventLiveData.postValue(Unit)
-            MainScope().launch(Dispatchers.IO) {
+            MatrixSessionProvider.getSessionOrThrow().coroutineScope.launch(Dispatchers.IO) {
                 uiaDataSource.startUIAStages(stages, flowResponse.session ?: "", promise)
             }
         } else {