diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 3ec1fe2..d96b858 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -72,6 +72,7 @@
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
+import java.util.List;
 import java.util.Locale;
 
 /**
@@ -979,8 +980,11 @@
                 return;
             }
 
+            final List<CharSequence> applicationSuggestedWords =
+                    SuggestedWords.Builder.getFromApplicationSpecifiedCompletions(
+                            applicationSpecifiedCompletions);
             SuggestedWords.Builder builder = new SuggestedWords.Builder()
-                    .setApplicationSpecifiedCompletions(applicationSpecifiedCompletions)
+                    .addWords(applicationSuggestedWords, null)
                     .setTypedWordValid(false)
                     .setHasMinimalSuggestion(false);
             // When in fullscreen mode, show completions generated by the application
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 9aa3ebc..7279a3f 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -131,11 +131,13 @@
             return this;
         }
 
-        public Builder setApplicationSpecifiedCompletions(CompletionInfo[] infos) {
+        public static List<CharSequence> getFromApplicationSpecifiedCompletions(
+                final CompletionInfo[] infos) {
+            final ArrayList<CharSequence> result = new ArrayList<CharSequence>();
             for (CompletionInfo info : infos) {
-                if (null != info) addWord(info.getText());
+                if (null != info) result.add(info.getText());
             }
-            return this;
+            return result;
         }
 
         public Builder setTypedWordValid(boolean typedWordValid) {
