diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 5909b3b5394de8b3e582573a139ae0a36bc639f5..d0d0b723f5bdc89ef9302cdfed30350c9823f023 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1627,7 +1627,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
             return;
         }
 
-        TextEntryState.acceptedSuggestion(suggestions.getWord(0), suggestion);
         // If this is a punctuation, apply it through the normal key press
         if (suggestion.length() == 1 && (isWordSeparator(suggestion.charAt(0))
                 || isSuggestedPunctuation(suggestion.charAt(0)))) {
diff --git a/java/src/com/android/inputmethod/latin/TextEntryState.java b/java/src/com/android/inputmethod/latin/TextEntryState.java
index 7b629e3e7e57670ac0ff261ed5aa25995797c4da..a4e0b359b60339f45c20857342a4c644afe7588c 100644
--- a/java/src/com/android/inputmethod/latin/TextEntryState.java
+++ b/java/src/com/android/inputmethod/latin/TextEntryState.java
@@ -107,6 +107,7 @@ public class TextEntryState {
             break;
         case ACCEPTED_DEFAULT:
         case SPACE_AFTER_PICKED:
+        case PUNCTUATION_AFTER_ACCEPTED:
             if (isSpace) {
                 setState(SPACE_AFTER_ACCEPTED);
             } else if (isSeparator) {
@@ -130,7 +131,6 @@ public class TextEntryState {
         case START:
         case UNKNOWN:
         case SPACE_AFTER_ACCEPTED:
-        case PUNCTUATION_AFTER_ACCEPTED:
         case PUNCTUATION_AFTER_WORD:
             if (!isSpace && !isSeparator) {
                 setState(IN_WORD);