diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 6cf3330..e87f676 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -230,12 +230,15 @@
                     listView.postDelayed(new Runnable() {
                         @Override
                         public void run() {
-                            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);
+                            final int index = position - listView.getFirstVisiblePosition();
+                            if (index >= 0 && index < listView.getChildCount()) {
+                                final View v = listView.getChildAt(index);
+                                final int centerX = v.getWidth() / 2;
+                                final int centerY = v.getHeight() / 2;
+                                highlight.setHotspot(centerX, centerY);
+                                v.setPressed(true);
+                                v.setPressed(false);
+                            }
                         }
                     }, DELAY_HIGHLIGHT_DURATION_MILLIS);
                 }
