diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
index 43d4ba42108d3800c38f3a507cb91438f3100c79..e767e4be9bcca387d402d86dfdb77c3206397535 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
@@ -232,6 +232,12 @@ public class DictionaryFacilitatorForSuggest {
         return null != mPersonalizationDictionary;
     }
 
+    public void flushPersonalizationDictionary() {
+        if (hasPersonalizationDictionary()) {
+            mPersonalizationDictionary.flush();
+        }
+    }
+
     public void waitForLoadingMainDictionary(final long timeout, final TimeUnit unit)
             throws InterruptedException {
         mLatchForWaitingLoadingMainDictionary.await(timeout, unit);
diff --git a/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java b/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java
index 8f7378c58df449573ba71d970e2837540dcffb52..d3734d6935eacadfbaeeeae33828913e4e5454a3 100644
--- a/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java
+++ b/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java
@@ -68,6 +68,11 @@ public abstract class DecayingExpandableBinaryDictionaryBase extends ExpandableB
             dumpAllWordsForDebug();
         }
         // Flush pending writes.
+        flush();
+        // TODO: Quit depending on finalize() and really close the dictionary file.
+    }
+
+    public void flush() {
         asyncFlushBinaryDictionary();
     }