diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt
index 3d631dee5fe633ac427be6548571810545c754ce..5e9354fa740dca9116c12c2114ae037f586078e4 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt
@@ -16,8 +16,10 @@
  */
 package net.jami.conversation
 
+import io.reactivex.rxjava3.core.Completable
 import io.reactivex.rxjava3.core.Observable
 import io.reactivex.rxjava3.core.Scheduler
+import io.reactivex.rxjava3.core.Single
 import io.reactivex.rxjava3.disposables.CompositeDisposable
 import io.reactivex.rxjava3.schedulers.Schedulers
 import io.reactivex.rxjava3.subjects.BehaviorSubject
@@ -117,8 +119,12 @@ class ConversationPresenter @Inject constructor(
             .subscribe({ conversation: Conversation ->
                 conversation.isVisible = true
                 conversation.isBubble = isBubble
-                accountService.getAccount(conversation.accountId)?.let { account ->
-                    conversationFacade.readMessages(account, conversation, !isBubble)}
+                mCompositeDisposable.add(Completable.fromAction {
+                    accountService.getAccount(conversation.accountId)?.let { account ->
+                        conversationFacade.readMessages(account, conversation, !isBubble)}
+                }
+                    .subscribeOn(Schedulers.computation())
+                    .subscribe())
             }) { e -> Log.e(TAG, "Error loading conversation", e) })
     }