diff --git a/res/drawable/dashboard_tile_background.xml b/res/drawable/dashboard_tile_background.xml
index 55cb4c9..92b6f42 100644
--- a/res/drawable/dashboard_tile_background.xml
+++ b/res/drawable/dashboard_tile_background.xml
@@ -14,10 +14,10 @@
      limitations under the License.
 -->
 
-<touch-feedback xmlns:android="http://schemas.android.com/apk/res/android"
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
                 android:tint="?android:attr/colorButtonPressed">
     <item>
         <color android:color="@android:color/white" />
     </item>
-</touch-feedback>
+</ripple>
 
diff --git a/res/drawable/preference_highlight.xml b/res/drawable/preference_highlight.xml
index 0b704f7..615a360 100644
--- a/res/drawable/preference_highlight.xml
+++ b/res/drawable/preference_highlight.xml
@@ -14,10 +14,10 @@
      limitations under the License.
 -->
 
-<touch-feedback xmlns:android="http://schemas.android.com/apk/res/android"
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
                 android:tint="?android:attr/colorButtonPressed"
                 android:pinned="true">
     <item android:id="@android:id/mask"
           android:drawable="@android:color/white" />
-</touch-feedback>
+</ripple>
 
diff --git a/src/com/android/settings/HighlightingFragment.java b/src/com/android/settings/HighlightingFragment.java
index a1d6be0..3595eec 100644
--- a/src/com/android/settings/HighlightingFragment.java
+++ b/src/com/android/settings/HighlightingFragment.java
@@ -83,8 +83,9 @@
                 public void run() {
                     final int centerX = view.getWidth() / 2;
                     final int centerY = view.getHeight() / 2;
-                    highlight.setHotspot(0, centerX, centerY);
-                    highlight.clearHotspots();
+                    highlight.setHotspot(centerX, centerY);
+                    view.setPressed(true);
+                    view.setPressed(false);
                 }
             }, DELAY_HIGHLIGHT_DURATION_MILLIS);
 
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 2c290b1..9fbdebe 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -183,10 +183,12 @@
                     listView.postDelayed(new Runnable() {
                         @Override
                         public void run() {
-                            final int centerX = listView.getWidth() / 2;
-                            final int centerY = listView.getChildAt(0).getHeight() / 2;
-                            highlight.setHotspot(0, centerX, centerY);
-                            highlight.clearHotspots();
+                            final View v = listView.getChildAt(0);
+                            final int centerX = v.getWidth() / 2;
+                            final int centerY = v.getHeight() / 2;
+                            highlight.setHotspot(centerX, centerY);
+                            v.setPressed(true);
+                            v.setPressed(false);
                             ((PreferenceGroupAdapter) adapter).setHighlighted(-1);
                         }
                     }, DELAY_HIGHLIGHT_DURATION_MILLIS);
@@ -201,8 +203,9 @@
                 preferenceView.setBackground(highlight);
                 final int centerX = preferenceView.getWidth() / 2;
                 final int centerY = preferenceView.getHeight() / 2;
-                highlight.setHotspot(0, centerX, centerY);
-                highlight.clearHotspots();
+                highlight.setHotspot(centerX, centerY);
+                preferenceView.setPressed(true);
+                preferenceView.setPressed(false);
             }
         }
     }
