diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index 4077d12b349b78c63985727a84b586fb25131faa..1adf3497f981ff02c5e833c150685a7730567361 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -27,7 +27,6 @@ import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
 import com.android.inputmethod.latin.makedict.WordProperty;
 import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
 import com.android.inputmethod.latin.utils.AsyncResultHolder;
-import com.android.inputmethod.latin.utils.BinaryDictionaryUtils;
 import com.android.inputmethod.latin.utils.CollectionUtils;
 import com.android.inputmethod.latin.utils.CombinedFormatUtils;
 import com.android.inputmethod.latin.utils.ExecutorUtils;
@@ -233,24 +232,24 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
         mBinaryDictionary = null;
     }
 
-    private void createBinaryDictionaryLocked() {
-        BinaryDictionaryUtils.createEmptyDictFile(mDictFile.getAbsolutePath(),
-                DICTIONARY_FORMAT_VERSION, mLocale, getHeaderAttributeMap());
-    }
-
     private void openBinaryDictionaryLocked() {
         mBinaryDictionary = new BinaryDictionary(
                 mDictFile.getAbsolutePath(), 0 /* offset */, mDictFile.length(),
                 true /* useFullEditDistance */, mLocale, mDictType, true /* isUpdatable */);
     }
 
+    private void createOnMemoryBinaryDictionaryLocked() {
+        mBinaryDictionary = new BinaryDictionary(
+                mDictFile.getAbsolutePath(), true /* useFullEditDistance */, mLocale, mDictType,
+                DICTIONARY_FORMAT_VERSION, getHeaderAttributeMap());
+    }
+
     public void clear() {
         ExecutorUtils.getExecutor(mDictName).execute(new Runnable() {
             @Override
             public void run() {
                 removeBinaryDictionaryLocked();
-                createBinaryDictionaryLocked();
-                openBinaryDictionaryLocked();
+                createOnMemoryBinaryDictionaryLocked();
             }
         });
     }
@@ -512,8 +511,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
                     + mDictNameDictionaryUpdateController.mLastUpdateTime);
         }
         removeBinaryDictionaryLocked();
-        createBinaryDictionaryLocked();
-        openBinaryDictionaryLocked();
+        createOnMemoryBinaryDictionaryLocked();
         loadInitialContentsLocked();
         // Run GC and flush to file when initial contents have been loaded.
         mBinaryDictionary.flushWithGCIfHasUpdated();
diff --git a/java/src/com/android/inputmethod/latin/utils/BinaryDictionaryUtils.java b/java/src/com/android/inputmethod/latin/utils/BinaryDictionaryUtils.java
index b4658b531f047be2b87487a6d6e295c8793ed00e..5d7deba15a21f9a5ff73d99c7c15a77eab576d1b 100644
--- a/java/src/com/android/inputmethod/latin/utils/BinaryDictionaryUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/BinaryDictionaryUtils.java
@@ -91,6 +91,7 @@ public final class BinaryDictionaryUtils {
         return false;
     }
 
+    @UsedForTesting
     public static boolean createEmptyDictFile(final String filePath, final long dictVersion,
             final Locale locale, final Map<String, String> attributeMap) {
         final String[] keyArray = new String[attributeMap.size()];