diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 9f4b8811d16a3879c14028bea56d474b4cab38a9..d9d28f1863175b7fd10c3cc757691e3354c8ea93 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -403,7 +403,10 @@ public class Keyboard {
      * point is out of range, then an array of size zero is returned.
      */
     public Key[] getNearestKeys(int x, int y) {
-        return mProximityInfo.getNearestKeys(x, y);
+        // Avoid dead pixels at edges of the keyboard
+        final int adjustedX = Math.max(0, Math.min(x, mOccupiedWidth - 1));
+        final int adjustedY = Math.max(0, Math.min(y, mOccupiedHeight - 1));
+        return mProximityInfo.getNearestKeys(adjustedX, adjustedY);
     }
 
     public static String printableCode(int code) {