diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index c867ab3d304f1bd67a3172dc8719d16c202d157f..b365003a55fd3a489159e85a8aa68adb61f08ab3 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -1113,11 +1113,8 @@ public final class InputLogic {
                 keyboardSwitcher.getKeyboard());
         mWordComposer.setCursorPositionWithinWord(
                 typedWord.codePointCount(0, numberOfCharsInWordBeforeCursor));
-        // TODO: Change these two lines to setComposingRegion(cursorPosition,
-        //         cursorPosition + range.getNumberOfCharsInWordAfterCursor());
-        mConnection.deleteSurroundingText(numberOfCharsInWordBeforeCursor,
-              typedWord.length() - numberOfCharsInWordBeforeCursor);
-        mConnection.setComposingText(typedWord, 1);
+        mConnection.setComposingRegion(expectedCursorPosition - numberOfCharsInWordBeforeCursor,
+                expectedCursorPosition + range.getNumberOfCharsInWordAfterCursor());
         if (suggestions.isEmpty()) {
             // We come here if there weren't any suggestion spans on this word. We will try to
             // compute suggestions for it instead.