diff --git a/java/src/com/android/inputmethod/latin/utils/FileUtils.java b/java/src/com/android/inputmethod/latin/utils/FileUtils.java
index 22b0fbbcdb914893feab29bb298a183b74ec01b6..f1106a6c606923682b5e2a3fa446ea80b7c48c3b 100644
--- a/java/src/com/android/inputmethod/latin/utils/FileUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/FileUtils.java
@@ -25,8 +25,11 @@ import java.io.FilenameFilter;
 public class FileUtils {
     public static boolean deleteRecursively(final File path) {
         if (path.isDirectory()) {
-            for (final File child : path.listFiles()) {
-                deleteRecursively(child);
+            final File[] files = path.listFiles();
+            if (files != null) {
+                for (final File child : files) {
+                    deleteRecursively(child);
+                }
             }
         }
         return path.delete();
@@ -37,6 +40,9 @@ public class FileUtils {
             return false;
         }
         final File[] files = dir.listFiles(fileNameFilter);
+        if (files == null) {
+            return false;
+        }
         boolean hasDeletedAllFiles = true;
         for (final File file : files) {
             if (!deleteRecursively(file)) {