diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index 7b89c5c..f558568 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -495,6 +495,7 @@
             public void onPageSelected(int pos) {
                 tabs.updateTabTextColor(pos);
                 mHeader.setMainActive(pos == 0);
+                reset();
                 applyTouchDelegate();
                 if (mAH[pos].recyclerView != null) {
                     mAH[pos].recyclerView.bindFastScrollbar();
diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java
index dc3afb5..409985c 100644
--- a/src/com/android/launcher3/allapps/FloatingHeaderView.java
+++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java
@@ -107,6 +107,7 @@
         mWorkRV = setupRV(mWorkRV, mAH[AllAppsContainerView.AdapterHolder.WORK].recyclerView);
         mParent = (ViewGroup) mMainRV.getParent();
         setMainActive(true);
+        reset();
         setupDivider();
     }
 
@@ -130,8 +131,6 @@
 
     public void setMainActive(boolean active) {
         mCurrentRV = active ? mMainRV : mWorkRV;
-        mSnappedScrolledY = mCurrentRV.getCurrentScrollY() - mMaxTranslation;
-        setExpanded(true);
     }
 
     public PredictionRowView getPredictionRow() {
@@ -142,10 +141,6 @@
         return mDivider;
     }
 
-    public void reset() {
-        setExpanded(true);
-    }
-
     private boolean canSnapAt(int currentScrollY) {
         return Math.abs(currentScrollY) <= mPredictionRow.getHeight();
     }
@@ -194,16 +189,14 @@
         }
     }
 
-    private void setExpanded(boolean expand) {
-        int translateTo = expand ? 0 : -mMaxTranslation;
+    public void reset() {
+        int translateTo = 0;
         mAnimator.setIntValues(mTranslationY, translateTo);
         mAnimator.addUpdateListener(this);
         mAnimator.setDuration(150);
         mAnimator.start();
-        mHeaderCollapsed = !expand;
-        mSnappedScrolledY = expand
-                ? mCurrentRV.getCurrentScrollY() - mMaxTranslation
-                : mCurrentRV.getCurrentScrollY();
+        mHeaderCollapsed = false;
+        mSnappedScrolledY = -mMaxTranslation;
     }
 
     public boolean isExpanded() {
