diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index 96bf17b5c3d62ddc347b1f738cfe7304cb5f8163..62b55bca1bf514306181ffa77592f54f1d1a6b57 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -619,14 +619,28 @@ public final class RichInputConnection {
         return new PrevWordsInfo(prevWordsInfo);
     }
 
+    /**
+     * @param sortedSeparators a sorted array of code points which may separate words
+     * @return the word that surrounds the cursor, including up to one trailing
+     *   separator. For example, if the field contains "he|llo world", where |
+     *   represents the cursor, then "hello " will be returned.
+     */
+    public CharSequence getWordAtCursor(final int[] sortedSeparators) {
+        // getWordRangeAtCursor returns null if the connection is null
+        final TextRange r = getWordRangeAtCursor(sortedSeparators, 0);
+        return (r == null) ? null : r.mWord;
+    }
+
     /**
      * Returns the text surrounding the cursor.
      *
      * @param sortedSeparators a sorted array of code points that split words.
+     * @param additionalPrecedingWordsCount the number of words before the current word that should
+     *   be included in the returned range
      * @return a range containing the text surrounding the cursor
      */
-    public TextRange getWordRangeAtCursor(final int[] sortedSeparators) {
-        final int additionalPrecedingWordsCount = 0;
+    public TextRange getWordRangeAtCursor(final int[] sortedSeparators,
+            final int additionalPrecedingWordsCount) {
         mIC = mParent.getCurrentInputConnection();
         if (mIC == null) {
             return null;
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index b9a87c921300542e0cf105c44984c0f2cac5b8f4..8831d36f76cd89655d341e2d5a0291d2ceaf6af0 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -1288,7 +1288,8 @@ public final class InputLogic {
             return;
         }
         final TextRange range = mConnection.getWordRangeAtCursor(
-                settingsValues.mSpacingAndPunctuations.mSortedWordSeparators);
+                settingsValues.mSpacingAndPunctuations.mSortedWordSeparators,
+                0 /* additionalPrecedingWordsCount */);
         if (null == range) return; // Happens if we don't have an input connection at all
         if (range.length() <= 0) return; // Race condition. No text to resume on, so bail out.
         // If for some strange reason (editor bug or so) we measure the text before the cursor as