diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index e5c6a54..229e13b 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1213,6 +1213,10 @@
         mEnteredText = text;
     }
 
+    public void onCancel() {
+        // User released a finger outside any key
+    }
+
     private void handleBackspace() {
         if (VOICE_INSTALLED && mVoiceInputHighlighted) {
             mVoiceInput.incrementTextModificationDeleteCount(
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index a0366c2..8f1ec65 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -124,6 +124,11 @@
         void onText(CharSequence text);
 
         /**
+         * Called when user released a finger outside any key.
+         */
+        void onCancel();
+
+        /**
          * Called when the user quickly moves the finger from right to
          * left.
          */
@@ -1005,6 +1010,10 @@
                 dismissPopupKeyboard();
             }
 
+            public void onCancel() {
+                dismissPopupKeyboard();
+            }
+
             public void swipeLeft() {
             }
             public void swipeRight() {
diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java
index f849158..8b1f019 100644
--- a/java/src/com/android/inputmethod/latin/PointerTracker.java
+++ b/java/src/com/android/inputmethod/latin/PointerTracker.java
@@ -389,9 +389,13 @@
     }
 
     private void detectAndSendKey(int index, int x, int y, long eventTime) {
-        if (isValidKeyIndex(index)) {
-            final Key key = mKeys[index];
-            OnKeyboardActionListener listener = mListener;
+        final OnKeyboardActionListener listener = mListener;
+        final Key key = getKey(index);
+
+        if (key == null) {
+            if (listener != null)
+                listener.onCancel();
+        } else {
             if (key.text != null) {
                 if (listener != null) {
                     listener.onText(key.text);
