diff --git a/common/src/com/android/inputmethod/latin/common/FileUtils.java b/common/src/com/android/inputmethod/latin/common/FileUtils.java
index 1673266..e593c99 100644
--- a/common/src/com/android/inputmethod/latin/common/FileUtils.java
+++ b/common/src/com/android/inputmethod/latin/common/FileUtils.java
@@ -16,8 +16,6 @@
 
 package com.android.inputmethod.latin.common;
 
-import android.util.Log;
-
 import java.io.File;
 import java.io.FilenameFilter;
 
@@ -58,11 +56,6 @@
 
     public static boolean renameTo(final File fromFile, final File toFile) {
         toFile.delete();
-        final boolean success = fromFile.renameTo(toFile);
-        if (!success) {
-            Log.e(TAG, String.format("Failed to rename from %s to %s.",
-                    fromFile.getAbsoluteFile(), toFile.getAbsoluteFile()));
-        }
-        return  success;
+        return fromFile.renameTo(toFile);
     }
 }
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
index d25c1d3..1fe0a4c 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
@@ -324,7 +324,10 @@
 
                 // move the output file to the final staging file.
                 final File finalFile = new File(finalFileName);
-                FileUtils.renameTo(outputFile, finalFile);
+                if (!FileUtils.renameTo(outputFile, finalFile)) {
+                    Log.e(TAG, String.format("Failed to rename from %s to %s.",
+                            outputFile.getAbsoluteFile(), finalFile.getAbsoluteFile()));
+                }
 
                 wordListUriBuilder.appendQueryParameter(QUERY_PARAMETER_DELETE_RESULT,
                         QUERY_PARAMETER_SUCCESS);
diff --git a/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java b/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java
index 11cccd5..cea2e13 100644
--- a/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/DictionaryInfoUtils.java
@@ -314,7 +314,10 @@
                 final String cacheFilename = cacheDirectoryForLocale + File.separator + fileId;
                 final File cacheFile = new File(cacheFilename);
                 // move the staging file to cache file.
-                FileUtils.renameTo(stagingFile, cacheFile);
+                if (!FileUtils.renameTo(stagingFile, cacheFile)) {
+                    Log.e(TAG, String.format("Failed to rename from %s to %s.",
+                            stagingFile.getAbsoluteFile(), cacheFile.getAbsoluteFile()));
+                }
             }
         }
     }
