diff --git a/src/com/android/contacts/widget/MultiShrinkScroller.java b/src/com/android/contacts/widget/MultiShrinkScroller.java
index 1a0438c..e05de0b 100644
--- a/src/com/android/contacts/widget/MultiShrinkScroller.java
+++ b/src/com/android/contacts/widget/MultiShrinkScroller.java
@@ -583,7 +583,7 @@
         final int toolbarHeight = mToolbar.getLayoutParams().height;
         // Reuse an existing mColorFilter (to avoid GC pauses) to change the photo's tint.
         mPhotoView.clearColorFilter();
-        if (toolbarHeight >= mIntermediateHeaderHeight) {
+        if (toolbarHeight >= mMaximumHeaderHeight) {
             mPhotoViewContainer.setElevation(0);
             return;
         }
@@ -591,14 +591,13 @@
             mColorFilter.setColor(mHeaderTintColor);
             mPhotoView.setColorFilter(mColorFilter);
             mPhotoViewContainer.setElevation(mToolbarElevation);
-        } else if (toolbarHeight <= mIntermediateHeaderHeight) {
-            mPhotoViewContainer.setElevation(0);
-            final int alphaBits = 0xff - 0xff * (toolbarHeight  - mMinimumHeaderHeight)
-                    / (mIntermediateHeaderHeight - mMinimumHeaderHeight);
-            final int color = alphaBits << 24 | (mHeaderTintColor & 0xffffff);
-            mColorFilter.setColor(color);
-            mPhotoView.setColorFilter(mColorFilter);
         }
+        mPhotoViewContainer.setElevation(0);
+        final int alphaBits = 0xff - 0xff * (toolbarHeight  - mMinimumHeaderHeight)
+                / (mMaximumHeaderHeight - mMinimumHeaderHeight);
+        final int color = alphaBits << 24 | (mHeaderTintColor & 0xffffff);
+        mColorFilter.setColor(color);
+        mPhotoView.setColorFilter(mColorFilter);
     }
 
     private void updateLastEventPosition(MotionEvent event) {
