diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 39cbfa7a02294701dcdc6901cd14eb34f5ed04fe..a7985c37d0be52b09e5d8d0c6f4cd26f258ef569 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -927,7 +927,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                     SuggestedWords.Builder.getFromApplicationSpecifiedCompletions(
                             applicationSpecifiedCompletions);
             SuggestedWords.Builder builder = new SuggestedWords.Builder()
-                    .addWords(applicationSuggestedWords)
+                    .setWords(applicationSuggestedWords)
                     .setTypedWordValid(false)
                     .setHasMinimalSuggestion(false);
             // When in fullscreen mode, show completions generated by the application
@@ -1787,7 +1787,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
                     SuggestedWords.Builder.getTypedWordAndPreviousSuggestions(
                             typedWord, previousSuggestions);
             final SuggestedWords.Builder obsoleteSuggestionsBuilder = new SuggestedWords.Builder()
-                    .addWords(typedWordAndPreviousSuggestions)
+                    .setWords(typedWordAndPreviousSuggestions)
                     .setTypedWordValid(false)
                     .setHasMinimalSuggestion(false);
 
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 7e7702002d9ea3f558cda2465bc4d6c44ad6f3de..9abea66b2a5c5be4bb2b30df02776022582848da 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -184,7 +184,7 @@ public class SettingsValues {
             }
         }
         final SuggestedWords.Builder builder = new SuggestedWords.Builder()
-                .addWords(puncList)
+                .setWords(puncList)
                 .setIsPunctuationSuggestions();
         return builder.build();
     }
@@ -204,7 +204,7 @@ public class SettingsValues {
             }
         }
         final SuggestedWords.Builder builder = new SuggestedWords.Builder()
-                .addWords(puncOutputTextList)
+                .setWords(puncOutputTextList)
                 .setIsPunctuationSuggestions();
         return builder.build();
     }
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 487e91b0e22b6a004c83a758f632cd7eb037b978..a5c70eca9956bbb854f83f6c2cb7a37353525336 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -270,7 +270,7 @@ public class Suggest implements Dictionary.WordCallback {
         StringUtils.removeDupes(mSuggestions);
 
         return new SuggestedWords.Builder()
-                .addWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions))
+                .setWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions))
                 .setAllowsToBeAutoCorrected(false)
                 .setHasAutoCorrection(false);
     }
@@ -424,12 +424,12 @@ public class Suggest implements Dictionary.WordCallback {
                 scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i),
                         "--", false));
             }
-            builder = new SuggestedWords.Builder().addWords(scoreInfoList)
+            builder = new SuggestedWords.Builder().setWords(scoreInfoList)
                     .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected)
                     .setHasAutoCorrection(hasAutoCorrection);
         } else {
             builder = new SuggestedWords.Builder()
-                    .addWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions))
+                    .setWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions))
                     .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected)
                     .setHasAutoCorrection(hasAutoCorrection);
         }
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 9a7ea6b6a84b95b2f1f9f81a6050bbd0ac19c6e0..5d0fc20b204af6f38250cd5d0d0d051b87037602 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -87,12 +87,13 @@ public class SuggestedWords {
             // Nothing to do here.
         }
 
+        // TODO: compatibility for tests. Remove this once tests are okay.
         public Builder addWords(List<SuggestedWordInfo> suggestedWordInfoList) {
-            final int N = suggestedWordInfoList.size();
-            for (int i = 0; i < N; ++i) {
-                SuggestedWordInfo suggestedWordInfo = suggestedWordInfoList.get(i);
-                addWord(suggestedWordInfo.mWord, suggestedWordInfo);
-            }
+            return setWords(suggestedWordInfoList);
+        }
+
+        public Builder setWords(List<SuggestedWordInfo> suggestedWordInfoList) {
+            mSuggestedWordInfoList = suggestedWordInfoList;
             return this;
         }