diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index f41972e8b8b13e134ac49f1315194934be2c753c..def639dce789465e2b32c48dda503bc79ad2678a 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1769,6 +1769,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
         // getSuggestedWordBuilder handles gracefully a null value of prevWord
         final SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(mWordComposer,
                 prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCorrectionMode);
+        final SuggestedWords suggestions = builder.build();
 
         // Basically, we update the suggestion strip only when suggestion count > 1.  However,
         // there is an exception: We update the suggestion strip whenever typed word's length
@@ -1776,9 +1777,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
         // in most cases, suggestion count is 1 when typed word's length is 1, but we do always
         // need to clear the previous state when the user starts typing a word (i.e. typed word's
         // length == 1).
-        if (builder.size() > 1 || typedWord.length() == 1 || !builder.allowsToBeAutoCorrected()
+        if (suggestions.size() > 1 || typedWord.length() == 1
+                || !suggestions.mAllowsToBeAutoCorrected
                 || mSuggestionsView.isShowingAddToDictionaryHint()) {
-            showSuggestions(builder.build(), typedWord);
+            showSuggestions(suggestions, typedWord);
         } else {
             SuggestedWords previousSuggestions = mSuggestionsView.getSuggestions();
             if (previousSuggestions == mSettingsValues.mSuggestPuncList) {
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 144e6748220b7a881838907ac60dd01b0e3df371..feb26db5a51913030e59befbde3dc1681bc55efd 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -25,21 +25,25 @@ import java.util.List;
 
 public class SuggestedWords {
     public static final SuggestedWords EMPTY = new SuggestedWords(false, false, false, false,
-            Collections.<SuggestedWordInfo>emptyList());
+            false, Collections.<SuggestedWordInfo>emptyList());
 
     public final boolean mTypedWordValid;
     public final boolean mHasAutoCorrectionCandidate;
     public final boolean mIsPunctuationSuggestions;
+    public final boolean mAllowsToBeAutoCorrected;
     private final List<SuggestedWordInfo> mSuggestedWordInfoList;
 
-    SuggestedWords(boolean typedWordValid,
-            boolean hasAutoCorrectionCandidate, boolean isPunctuationSuggestions,
-            boolean shouldBlockAutoCorrectionBySafetyNet,
-            List<SuggestedWordInfo> suggestedWordInfoList) {
+    SuggestedWords(final boolean typedWordValid,
+            final boolean hasAutoCorrectionCandidate,
+            final boolean isPunctuationSuggestions,
+            final boolean shouldBlockAutoCorrectionBySafetyNet,
+            final boolean allowsToBeAutoCorrected,
+            final List<SuggestedWordInfo> suggestedWordInfoList) {
         mTypedWordValid = typedWordValid;
         mHasAutoCorrectionCandidate = hasAutoCorrectionCandidate
                 && !shouldBlockAutoCorrectionBySafetyNet;
         mIsPunctuationSuggestions = isPunctuationSuggestions;
+        mAllowsToBeAutoCorrected = allowsToBeAutoCorrected;
         mSuggestedWordInfoList = suggestedWordInfoList;
     }
 
@@ -138,7 +142,7 @@ public class SuggestedWords {
         public SuggestedWords build() {
             return new SuggestedWords(mTypedWordValid, mHasMinimalSuggestion,
                     mIsPunctuationSuggestions, mShouldBlockAutoCorrectionBySafetyNet,
-                    mSuggestedWordInfoList);
+                    mAllowsToBeAutoCorrected, mSuggestedWordInfoList);
         }
 
         public int size() {