diff --git a/services/java/com/android/server/InputDevice.java b/services/java/com/android/server/InputDevice.java
index ed7eed0..07a74da 100644
--- a/services/java/com/android/server/InputDevice.java
+++ b/services/java/com/android/server/InputDevice.java
@@ -36,9 +36,9 @@
     
     /**
      * Slop distance for jumpy pointer detection.
-     * This is in touchscreen coordinates, not pixels or dips.
+     * The vertical range of the screen divided by this is our epsilon value.
      */
-    private static final int JUMPY_EPSILON = 30;
+    private static final int JUMPY_EPSILON_DIVISOR = 212;
     
     /** Number of jumpy points to drop for touchscreens that need it. */
     private static final int JUMPY_TRANSITION_DROPS = 3;
@@ -246,11 +246,17 @@
         }
         
         void dropJumpyPoint(InputDevice dev) {
+            // We should always have absY, but let's be paranoid.
+            if (dev.absY == null) {
+                return;
+            }
+            final int jumpyEpsilon = dev.absY.range / JUMPY_EPSILON_DIVISOR;
+            
             final int nextNumPointers = mNextNumPointers;
             final int lastNumPointers = mLastNumPointers;
             final int[] nextData = mNextData;
             final int[] lastData = mLastData;
-
+            
             if (nextNumPointers != mLastNumPointers) {
                 if (DEBUG_HACKS) {
                     Slog.d("InputDevice", "Different pointer count " + lastNumPointers + 
@@ -330,8 +336,8 @@
                         final int xOther = nextData[joff + MotionEvent.SAMPLE_X];
                         final int yOther = nextData[joff + MotionEvent.SAMPLE_Y];
 
-                        dropx = Math.abs(x - xOther) <= JUMPY_EPSILON;
-                        dropy = Math.abs(y - yOther) <= JUMPY_EPSILON;
+                        dropx = Math.abs(x - xOther) <= jumpyEpsilon;
+                        dropy = Math.abs(y - yOther) <= jumpyEpsilon;
                     }
                     
                     if (dropx) {
