diff --git a/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java b/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java
index 916be448163dd95348608b9c358f361213990dbc..8160501a9a19bc0edd262a106ef2e09b87a0bf62 100644
--- a/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java
+++ b/java/src/com/android/inputmethod/latin/personalization/DynamicPredictionDictionaryBase.java
@@ -411,4 +411,18 @@ public abstract class DynamicPredictionDictionaryBase extends ExpandableDictiona
     public void unRegisterUpdateSession(PersonalizationDictionaryUpdateSession session) {
         mSessions.remove(session);
     }
+
+    public void clearAndFlushDictionary() {
+        // Clear the node structure on memory
+        clearDictionary();
+        mBigramListLock.lock();
+        try {
+            // Clear the bigram list on memory
+            mBigramList.evictAll();
+        } finally {
+            mBigramListLock.unlock();
+        }
+        // Then flush the cleared state of the dictionary on disk.
+        flushPendingWrites();
+    }
 }
diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
index 433c69c1c55ed158a080fc514bd92ee756b10260..77f0cdbfa9a36bed488d81c92fb75465b7516075 100644
--- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
+++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdateSession.java
@@ -69,6 +69,13 @@ public abstract class PersonalizationDictionaryUpdateSession {
         dictionary.unRegisterUpdateSession(this);
     }
 
+    public void clearAndFlushPredictionDictionary(Context context) {
+        final DynamicPredictionDictionaryBase dictionary = getPredictionDictionary();
+        if (dictionary == null) {
+            return;
+        }
+        dictionary.clearAndFlushDictionary();
+    }
 
     public void closeSession(Context context) {
         unsetPredictionDictionary();