diff --git a/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt b/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt
index eaebf5cda6a53a5a8630c6127f215de2aba2d8be..fef9c04a7f18959da549cbc09a497a1ed6261c94 100644
--- a/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt
@@ -103,24 +103,26 @@ class UserSearchFragment : RequestsFragment() {
                 }
             }.attach()
 
-            userSearchAppBarTabs.addOnTabSelectedListener(
-                object : OnTabSelectedListener {
-                    override fun onTabSelected(tab: TabLayout.Tab?) {
-                        if (searchViewModel.previousTabPosition != SEARCH_QR && tab?.position == SEARCH_QR) {
-                            searchViewModel.previousTabPosition = SEARCH_QR
-                            lifecycleScope.launch {
-                                delay(500)
-                                navigateToQrCode()
+            userSearchAppBarTabs.apply {
+                addOnTabSelectedListener(
+                    object : OnTabSelectedListener {
+                        override fun onTabSelected(tab: TabLayout.Tab?) {
+                            if (searchViewModel.previousTabPosition != SEARCH_QR && tab?.position == SEARCH_QR) {
+                                searchViewModel.previousTabPosition = SEARCH_QR
+                                lifecycleScope.launch {
+                                    delay(500)
+                                    navigateToQrCode()
+                                }
+                            } else {
+                                searchViewModel.previousTabPosition = tab?.position ?: 0
                             }
-                        } else {
-                            searchViewModel.previousTabPosition = tab?.position ?: 0
                         }
-                    }
 
-                    override fun onTabUnselected(tab: TabLayout.Tab?) { }
-                    override fun onTabReselected(tab: TabLayout.Tab?) { }
-                }
-            )
+                        override fun onTabUnselected(tab: TabLayout.Tab?) { }
+                        override fun onTabReselected(tab: TabLayout.Tab?) { }
+                    }
+                )
+            }
         }
     }
 
@@ -164,6 +166,16 @@ class UserSearchFragment : RequestsFragment() {
         observeUi()
     }
 
+    override fun onResume() {
+        super.onResume()
+        resetTabPosition()
+    }
+
+    private fun resetTabPosition() {
+        binding.userSearchAppBarTabs.setScrollPosition(SEARCH_USERNAME, 0f, true)
+        binding.userSearchViewPager.currentItem = SEARCH_USERNAME
+    }
+
     private fun observeUi() {
         searchViewModel.udSearchUi.observe(viewLifecycleOwner) { state ->
             binding.ui = state