diff --git a/packages/loot-core/migrations/1685375406832_transaction_filters.sql b/packages/loot-core/migrations/1688749527273_transaction_filters.sql
similarity index 100%
rename from packages/loot-core/migrations/1685375406832_transaction_filters.sql
rename to packages/loot-core/migrations/1688749527273_transaction_filters.sql
diff --git a/packages/loot-core/src/server/migrate/migrations.ts b/packages/loot-core/src/server/migrate/migrations.ts
index f4b6b3993dd46edc0b56d64a43ed1647c6323cbf..07690ec37d5862d553176be1fac3349ad25594c5 100644
--- a/packages/loot-core/src/server/migrate/migrations.ts
+++ b/packages/loot-core/src/server/migrate/migrations.ts
@@ -40,6 +40,20 @@ export function getUpMigration(id, names) {
   }
 }
 
+async function patchBadMigrations(db: Database) {
+  let badFiltersMigration = 1685375406832;
+  let newFiltersMigration = 1688749527273;
+  let appliedIds = await getAppliedMigrations(db);
+  if (appliedIds.includes(badFiltersMigration)) {
+    await sqlite.runQuery(db, 'DELETE FROM __migrations__ WHERE id = ?', [
+      badFiltersMigration,
+    ]);
+    await sqlite.runQuery(db, 'INSERT INTO __migrations__ (id) VALUES (?)', [
+      newFiltersMigration,
+    ]);
+  }
+}
+
 export async function getAppliedMigrations(db: Database): Promise<number[]> {
   const rows = await sqlite.runQuery<{ id: number }>(
     db,
@@ -135,6 +149,7 @@ function checkDatabaseValidity(
 }
 
 export async function migrate(db: Database): Promise<string[]> {
+  await patchBadMigrations(db);
   let appliedIds = await getAppliedMigrations(db);
   let available = await getMigrationList(MIGRATIONS_DIR);
 
diff --git a/upcoming-release-notes/1309.md b/upcoming-release-notes/1309.md
new file mode 100644
index 0000000000000000000000000000000000000000..c8fc5f401008c0728b13d97af348d6e178cc7da1
--- /dev/null
+++ b/upcoming-release-notes/1309.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [j-f1]
+---
+
+Handle upgrading from some recent `edge` versions to newer versions of Actual