diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 83b79f74c2dcace0294b43c03b58a3b5faa968bc..224618eccba55a7bc19517bd3fd54df9eeb6c01c 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -895,20 +895,16 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                 }
                 mComposingStringBuilder.setLength(0);
                 mHasUncommittedTypedChars = false;
-                if (isCursorTouchingWord()) {
-                    mHandler.cancelUpdateBigramPredictions();
-                    mHandler.postUpdateSuggestions();
-                } else {
-                    setPunctuationSuggestions();
-                }
                 TextEntryState.reset();
+                updateSuggestions();
                 final InputConnection ic = getCurrentInputConnection();
                 if (ic != null) {
                     ic.finishComposingText();
                 }
                 mVoiceProxy.setVoiceInputHighlighted(false);
-            } else if (!mHasUncommittedTypedChars && TextEntryState.isAcceptedDefault()) {
+            } else if (!mHasUncommittedTypedChars) {
                 TextEntryState.reset();
+                updateSuggestions();
             }
             mJustAddedMagicSpace = false; // The user moved the cursor.
             mJustReplacedDoubleSpace = false;
@@ -1654,6 +1650,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
             return;
         }
 
+        mHandler.cancelUpdateSuggestions();
+        mHandler.cancelUpdateOldSuggestions();
+        mHandler.cancelUpdateBigramPredictions();
+
         if (!mHasUncommittedTypedChars) {
             setPunctuationSuggestions();
             return;