diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 756cd2327..7612426eb 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1288,7 +1288,7 @@ public class LatinIME extends InputMethodService
             doubleSpace();
         }
         if (pickedDefault) {
-            TextEntryState.backToAcceptedDefault();
+            TextEntryState.backToAcceptedDefault(mWord.getTypedWord());
         }
         updateShiftKeyState(getCurrentInputEditorInfo());
         if (ic != null) {
diff --git a/java/src/com/android/inputmethod/latin/TextEntryState.java b/java/src/com/android/inputmethod/latin/TextEntryState.java
index 1a3bb877a..224423c23 100644
--- a/java/src/com/android/inputmethod/latin/TextEntryState.java
+++ b/java/src/com/android/inputmethod/latin/TextEntryState.java
@@ -138,7 +138,8 @@ public class TextEntryState {
     // STATE_ACCEPTED_DEFAULT will be changed to other sub-states
     // (see "case STATE_ACCEPTED_DEFAULT" in typedCharacter() below),
     // and should be restored back to STATE_ACCEPTED_DEFAULT after processing for each sub-state.
-    public static void backToAcceptedDefault() {
+    public static void backToAcceptedDefault(CharSequence typedWord) {
+        if (typedWord == null) return;
         switch (sState) {
             case STATE_SPACE_AFTER_ACCEPTED:
             case STATE_PUNCTUATION_AFTER_ACCEPTED: