diff --git a/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java b/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java
index 555bbc7d4713b6b0a7cfd6d76100754ee41755e1..c9b6d6b7042307d57c96d8c31f9d3d937abe6ce8 100644
--- a/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java
+++ b/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java
@@ -23,6 +23,8 @@ import com.android.inputmethod.latin.common.StringUtils;
 import java.util.ArrayList;
 import java.util.Arrays;
 
+import javax.annotation.Nullable;
+
 /**
  * The extended {@link SuggestedWords} class to represent punctuation suggestions.
  *
@@ -49,12 +51,16 @@ public final class PunctuationSuggestions extends SuggestedWords {
      * @return The {@link PunctuationSuggestions} object.
      */
     public static PunctuationSuggestions newPunctuationSuggestions(
-            final String[] punctuationSpecs) {
-        final ArrayList<SuggestedWordInfo> puncuationsList = new ArrayList<>();
-        for (final String puncSpec : punctuationSpecs) {
-            puncuationsList.add(newHardCodedWordInfo(puncSpec));
+            @Nullable final String[] punctuationSpecs) {
+        if (punctuationSpecs == null || punctuationSpecs.length == 0) {
+            return new PunctuationSuggestions(new ArrayList<SuggestedWordInfo>(0));
+        }
+        final ArrayList<SuggestedWordInfo> punctuationList =
+                new ArrayList<>(punctuationSpecs.length);
+        for (String spec : punctuationSpecs) {
+            punctuationList.add(newHardCodedWordInfo(spec));
         }
-        return new PunctuationSuggestions(puncuationsList);
+        return new PunctuationSuggestions(punctuationList);
     }
 
     /**