diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 2bbda78482c3ec5ccac9d79f89ca4546fca297bb..f41972e8b8b13e134ac49f1315194934be2c753c 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -927,10 +927,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                     SuggestedWords.Builder.getFromApplicationSpecifiedCompletions(
                             applicationSpecifiedCompletions);
             SuggestedWords.Builder builder = new SuggestedWords.Builder(applicationSuggestedWords,
+                    false /* typedWordValid */,
+                    false /* hasMinimalSuggestion */,
                     false /* allowsToBeAutoCorrected */,
-                    false /* isPunctuationSuggestions */)
-                    .setTypedWordValid(false)
-                    .setHasMinimalSuggestion(false);
+                    false /* isPunctuationSuggestions */);
             // When in fullscreen mode, show completions generated by the application
             final SuggestedWords words = builder.build();
             final boolean isAutoCorrection = false;
@@ -1789,11 +1789,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                             typedWord, previousSuggestions);
             final SuggestedWords.Builder obsoleteSuggestionsBuilder =
                     new SuggestedWords.Builder(typedWordAndPreviousSuggestions,
+                            false /* typedWordValid */,
+                            false /* hasMinimalSuggestion */,
                             false /* allowsToBeAutoCorrected */,
-                            false /* isPunctuationSuggestions */)
-                            .setTypedWordValid(false)
-                            .setHasMinimalSuggestion(false);
-
+                            false /* isPunctuationSuggestions */);
             showSuggestions(obsoleteSuggestionsBuilder.build(), typedWord);
         }
     }
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index c5198b337081cc08af7c1c34ad70b14c4821e679..0a4aea1408db57b9ad631374aaad6363624400a1 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -184,6 +184,8 @@ public class SettingsValues {
             }
         }
         final SuggestedWords.Builder builder = new SuggestedWords.Builder(puncList,
+                false /* typedWordValid */,
+                false /* hasMinimalSuggestion */,
                 false /* allowsToBeAutoCorrected */,
                 true /* isPunctuationSuggestions */);
         return builder.build();
@@ -204,6 +206,8 @@ public class SettingsValues {
             }
         }
         final SuggestedWords.Builder builder = new SuggestedWords.Builder(puncOutputTextList,
+                false /* typedWordValid */,
+                false /* hasMinimalSuggestion */,
                 false /* allowsToBeAutoCorrected */,
                 true /* isPunctuationSuggestions */);
         return builder.build();
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 28cbc9789fa822d9b05ab42a726922acaec01744..28d3b44378921afa4d224abf8d5a49b1876da414 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -271,6 +271,8 @@ public class Suggest implements Dictionary.WordCallback {
 
         return new SuggestedWords.Builder(
                 SuggestedWords.Builder.getFromCharSequenceList(mSuggestions),
+                false /* typedWordValid */,
+                false /* hasMinimalSuggestion */,
                 false /* allowsToBeAutoCorrected */,
                 false /* isPunctuationSuggestions */);
     }
@@ -435,10 +437,11 @@ public class Suggest implements Dictionary.WordCallback {
         }
         // Don't auto-correct words with multiple capital letter
         autoCorrectionAvailable &= !wordComposer.isMostlyCaps();
-        builder = new SuggestedWords.Builder(scoreInfoList, allowsToBeAutoCorrected,
+        builder = new SuggestedWords.Builder(scoreInfoList,
+                !allowsToBeAutoCorrected /* typedWordValid */,
+                autoCorrectionAvailable /* hasMinimalSuggestion */,
+                allowsToBeAutoCorrected /* allowsToBeAutoCorrected */,
                 false /* isPunctuationSuggestions */);
-        builder.setTypedWordValid(!allowsToBeAutoCorrected).setHasMinimalSuggestion(
-                autoCorrectionAvailable);
         if (allowsToBeAutoCorrected && builder.size() > 1 && mAutoCorrectionThreshold > 0
                 && Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord, builder.getWord(1))) {
             builder.setShouldBlockAutoCorrectionBySafetyNet();
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index f62e99cac601b679bf94688808f221da64f045c7..144e6748220b7a881838907ac60dd01b0e3df371 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -73,17 +73,21 @@ public class SuggestedWords {
     }
 
     public static class Builder {
-        private boolean mTypedWordValid;
-        private boolean mHasMinimalSuggestion;
+        private final boolean mTypedWordValid;
+        private final boolean mHasMinimalSuggestion;
         private final boolean mIsPunctuationSuggestions;
         private boolean mShouldBlockAutoCorrectionBySafetyNet;
         private final boolean mAllowsToBeAutoCorrected;
         private final List<SuggestedWordInfo> mSuggestedWordInfoList;
 
         public Builder(final List<SuggestedWordInfo> suggestedWordInfoList,
+                final boolean typedWordValid,
+                final boolean hasMinimalSuggestion,
                 final boolean allowsToBeAutoCorrected,
                 final boolean isPunctuationSuggestions) {
             mSuggestedWordInfoList = suggestedWordInfoList;
+            mTypedWordValid = typedWordValid;
+            mHasMinimalSuggestion = hasMinimalSuggestion;
             mAllowsToBeAutoCorrected = allowsToBeAutoCorrected;
             mIsPunctuationSuggestions = isPunctuationSuggestions;
         }
@@ -106,16 +110,6 @@ public class SuggestedWords {
             return result;
         }
 
-        public Builder setTypedWordValid(boolean typedWordValid) {
-            mTypedWordValid = typedWordValid;
-            return this;
-        }
-
-        public Builder setHasMinimalSuggestion(boolean hasMinimalSuggestion) {
-            mHasMinimalSuggestion = hasMinimalSuggestion;
-            return this;
-        }
-
         public Builder setShouldBlockAutoCorrectionBySafetyNet() {
             mShouldBlockAutoCorrectionBySafetyNet = true;
             return this;