diff --git a/app/src/main/java/eu/faircode/email/DB.java b/app/src/main/java/eu/faircode/email/DB.java
index 1be8c7b78e..30bdb55cf2 100644
--- a/app/src/main/java/eu/faircode/email/DB.java
+++ b/app/src/main/java/eu/faircode/email/DB.java
@@ -29,6 +29,7 @@ import org.json.JSONObject;
 import java.io.File;
 import java.lang.reflect.Field;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -1856,6 +1857,28 @@ public abstract class DB extends RoomDatabase {
                 });
     }
 
+    public void checkpoint(Context context) {
+        if (!BuildConfig.DEBUG)
+            return;
+
+        // https://www.sqlite.org/pragma.html#pragma_wal_checkpoint
+        long start = new Date().getTime();
+        StringBuilder sb = new StringBuilder();
+        SupportSQLiteDatabase db = getInstance(context).getOpenHelper().getWritableDatabase();
+        try (Cursor cursor = db.query("PRAGMA wal_checkpoint(PASSIVE);")) {
+            if (cursor.moveToNext()) {
+                for (int i = 0; i < cursor.getColumnCount(); i++) {
+                    if (i > 0)
+                        sb.append(",");
+                    sb.append(cursor.getInt(i));
+                }
+            }
+        }
+
+        long elapse = new Date().getTime() - start;
+        Log.i("PRAGMA wal_checkpoint=" + sb + " elapse=" + elapse);
+    }
+
     @Override
     @SuppressWarnings("deprecation")
     public void beginTransaction() {
diff --git a/app/src/main/java/eu/faircode/email/WorkerFts.java b/app/src/main/java/eu/faircode/email/WorkerFts.java
index 9535670510..2c3de8c2c5 100644
--- a/app/src/main/java/eu/faircode/email/WorkerFts.java
+++ b/app/src/main/java/eu/faircode/email/WorkerFts.java
@@ -62,6 +62,8 @@ public class WorkerFts extends Worker {
             int indexed = 0;
             List<Long> ids = new ArrayList<>(INDEX_BATCH_SIZE);
             DB db = DB.getInstance(context);
+            db.checkpoint(context);
+
             SQLiteDatabase sdb = FtsDbHelper.getInstance(context);
             SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
             try (Cursor cursor = db.message().getMessageFts()) {