diff --git a/src/com/android/camera/ui/IndicatorControlWheel.java b/src/com/android/camera/ui/IndicatorControlWheel.java
index 5f3d82a..4e0e5f4 100644
--- a/src/com/android/camera/ui/IndicatorControlWheel.java
+++ b/src/com/android/camera/ui/IndicatorControlWheel.java
@@ -295,7 +295,6 @@
         double increment = Math.toRadians(expectedAngle)
                 - mChildRadians[mSecondLevelStartIndex];
         for (int i = 0 ; i < getChildCount(); ++i) mChildRadians[i] += increment;
-        requestLayout();
    }
 
     @Override
@@ -314,7 +313,6 @@
         for (int i = 0; i < getChildCount(); ++i) {
             View view = getChildAt(i);
             // We still need to show the disabled indicators in the second level.
-            if (!view.isEnabled() && (mCurrentLevel == 0)) continue;
             double radian = mChildRadians[i];
             double startVisibleRadians = mInAnimation
                     ? mStartVisibleRadians[1]
@@ -322,8 +320,9 @@
             double endVisibleRadians = mInAnimation
                     ? mEndVisibleRadians[1]
                     : mEndVisibleRadians[mCurrentLevel];
-            if ((radian < (startVisibleRadians - HIGHLIGHT_RADIANS / 2)) ||
-                    (radian > (endVisibleRadians + HIGHLIGHT_RADIANS / 2))) {
+            if ((!view.isEnabled() && (mCurrentLevel == 0))
+                    || (radian < (startVisibleRadians - HIGHLIGHT_RADIANS / 2))
+                    || (radian > (endVisibleRadians + HIGHLIGHT_RADIANS / 2))) {
                 view.setVisibility(View.GONE);
                 continue;
             }
