diff --git a/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt b/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt
index 626f3cb5e8ec6b5ffb3288738e0c8c4fad0e5446..4bf51be7ab1a286c5a76a0c83d45452e1579e15d 100644
--- a/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/account/AccountEditionFragment.kt
@@ -25,6 +25,8 @@ import androidx.annotation.StringRes
 import androidx.fragment.app.*
 import androidx.recyclerview.widget.RecyclerView
 import androidx.viewpager2.adapter.FragmentStateAdapter
+import androidx.viewpager2.widget.ViewPager2
+import com.google.android.material.tabs.TabLayout
 import com.google.android.material.tabs.TabLayoutMediator
 import cx.ring.R
 import cx.ring.contactrequests.BlockListFragment
@@ -72,18 +74,22 @@ class AccountEditionFragment : BaseSupportFragment<AccountEditionPresenter, Acco
         super.onViewCreated(view, savedInstanceState)
 
         mAccountId = requireArguments().getString(ACCOUNT_ID_KEY)
-        mBinding!!.fragmentContainer.viewTreeObserver.addOnScrollChangedListener(this)
         presenter.init(mAccountId!!)
 
         mBinding?.apply {
-            TabLayoutMediator(slidingTabs, pager){ tab, position ->
-                tab.text = context?.getString(
-                        if (mAccountIsJami) getJamiPanelTitle(position)
-                        else getSIPPanelTitle(position))
-            }.attach()
+            fragmentContainer.viewTreeObserver.addOnScrollChangedListener(this@AccountEditionFragment)
         }
     }
 
+    private fun updateAdapter(tabLayout: TabLayout, viewPager: ViewPager2, accountId: String, isJami: Boolean) {
+        viewPager.adapter = PreferencesPagerAdapter(this@AccountEditionFragment, accountId, isJami)
+        TabLayoutMediator(tabLayout, viewPager){ tab, position ->
+            tab.text = context?.getString(
+                if (mAccountIsJami) getJamiPanelTitle(position)
+                else getSIPPanelTitle(position))
+        }.attach()
+    }
+
     override fun displaySummary(accountId: String) {
         toggleView(accountId, true)
         val fragmentManager = childFragmentManager
@@ -111,7 +117,7 @@ class AccountEditionFragment : BaseSupportFragment<AccountEditionPresenter, Acco
     override fun initViewPager(accountId: String, isJami: Boolean) {
         mBinding?.apply {
             pager.offscreenPageLimit = 4
-            pager.adapter = PreferencesPagerAdapter(this@AccountEditionFragment, accountId, isJami)
+            updateAdapter(slidingTabs, pager, accountId, isJami)
         }
         val existingFragment = childFragmentManager.findFragmentByTag(BlockListFragment.TAG) as BlockListFragment?
         if (existingFragment != null) {
diff --git a/jami-android/app/src/main/java/cx/ring/share/ScanFragment.kt b/jami-android/app/src/main/java/cx/ring/share/ScanFragment.kt
index 0260441a50645a0de5ce9efd96f371ce43409861..e68ece10acbb3f3280f08359b8b279d97f7de67d 100644
--- a/jami-android/app/src/main/java/cx/ring/share/ScanFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/share/ScanFragment.kt
@@ -24,6 +24,7 @@ import android.content.pm.PackageManager
 import android.view.LayoutInflater
 import android.view.ViewGroup
 import android.os.Bundle
+import android.util.Log
 import cx.ring.R
 import androidx.annotation.StringRes
 import com.journeyapps.barcodescanner.DefaultDecoderFactory
@@ -129,7 +130,11 @@ class ScanFragment : Fragment() {
     }
 
     private fun goToConversation(conversationUri: String) {
-        (requireActivity() as HomeActivity).startConversation(conversationUri)
+        try {
+            (requireActivity() as HomeActivity).startConversation(conversationUri)
+        } catch (e: Exception) {
+            Log.w(TAG, "Error while starting conversation", e)
+        }
     }
 
     private fun checkPermission(): Boolean {