diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 51b787b..6159cef 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -304,7 +304,7 @@
 
     private float calculateClearAllButtonAlpha() {
         final int childCount = getChildCount();
-        if (mClearAllButton.getVisibility() != View.VISIBLE || childCount == 0) return 0;
+        if (mShowEmptyMessage || childCount == 0) return 0;
 
         // Current visible coordinate of the end of the oldest task.
         final View lastChild = getChildAt(childCount - 1);
@@ -356,7 +356,9 @@
 
     private void updateClearAllButtonAlpha() {
         if (mClearAllButton != null) {
-            mClearAllButton.setAlpha(calculateClearAllButtonAlpha() * mContentAlpha);
+            final float alpha = calculateClearAllButtonAlpha();
+            mClearAllButton.setAlpha(alpha * mContentAlpha);
+            mClearAllButton.setVisibility(alpha == 0 ? INVISIBLE : VISIBLE);
         }
     }
 
@@ -1027,9 +1029,6 @@
         mShowEmptyMessage = isEmpty;
         updateEmptyStateUi(hasSizeChanged);
         invalidate();
-        if (mClearAllButton != null) {
-            updateClearAllButtonVisibility();
-        }
     }
 
     @Override
@@ -1044,7 +1043,7 @@
             mEmptyTextLayout = null;
             mLastMeasureSize.set(getWidth(), getHeight());
         }
-        updateClearAllButtonVisibility();
+        updateClearAllButtonAlpha();
 
         if (!mShowEmptyMessage) return;
 
@@ -1238,14 +1237,8 @@
         return mIsRtl ? additionalScrollForClearAllButton() : 0;
     }
 
-    private void updateClearAllButtonVisibility() {
-        if (mClearAllButton == null) return;
-        mClearAllButton.setVisibility(mShowEmptyMessage ? GONE : VISIBLE);
-        updateClearAllButtonAlpha();
-    }
-
     public void setClearAllButton(View clearAllButton) {
         mClearAllButton = clearAllButton;
-        updateClearAllButtonVisibility();
+        updateClearAllButtonAlpha();
     }
 }
