diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index da4367f..a6c1e6e 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -94,6 +94,7 @@
 
     private TransformingTouchDelegate mTouchDelegate;
     private boolean mUsingTabs;
+    private boolean mHasPredictions = false;
 
     private final HashMap<ComponentKey, AppInfo> mComponentToAppMap = new HashMap<>();
 
@@ -530,6 +531,11 @@
             mFloatingHeaderHandler.getContentView().setPredictedApps(apps);
         }
         mAH[AdapterHolder.MAIN].appsList.setPredictedApps(apps);
+        boolean hasPredictions = !apps.isEmpty();
+        if (mHasPredictions != hasPredictions) {
+            mHasPredictions = hasPredictions;
+            setupHeader();
+        }
     }
 
     public AppInfo findApp(ComponentKeyMapper<AppInfo> mapper) {
@@ -553,8 +559,8 @@
             return;
         }
         mHeader.setVisibility(View.VISIBLE);
-        int contentHeight = mLauncher.getDeviceProfile().allAppsCellHeightPx;
-        if (!mUsingTabs) {
+        int contentHeight = mHasPredictions ? mLauncher.getDeviceProfile().allAppsCellHeightPx : 0;
+        if (mHasPredictions && !mUsingTabs) {
             contentHeight += getResources()
                     .getDimensionPixelSize(R.dimen.all_apps_prediction_row_divider_height);
         }
@@ -565,7 +571,7 @@
                 mComponentToAppMap, mNumPredictedAppsPerRow);
 
         int padding = contentHeight;
-        if (!mUsingTabs) {
+        if (mHasPredictions && !mUsingTabs) {
             padding += mHeader.getPaddingTop() + mHeader.getPaddingBottom();
         }
         for (int i = 0; i < mAH.length; i++) {
