diff --git a/models/tracker/src/migration.ts b/models/tracker/src/migration.ts
index ee7fb977a4..0b8025069c 100644
--- a/models/tracker/src/migration.ts
+++ b/models/tracker/src/migration.ts
@@ -21,6 +21,7 @@ import core, {
   DocumentUpdate,
   Ref,
   SortingOrder,
+  StatusCategory,
   TxCreateDoc,
   TxOperations,
   TxResult,
@@ -829,6 +830,35 @@ async function fixMilestoneEmptyStatuses (client: MigrationClient): Promise<void
   )
 }
 
+async function removeExtraStatuses (client: TxOperations): Promise<void> {
+  const projects = await client.findAll(tracker.class.Project, {})
+  for (const project of projects) {
+    const projectStatuses = await client.findAll(tracker.class.IssueStatus, { space: project._id })
+    const statusesMap: Map<Ref<StatusCategory>, Map<string, IssueStatus[]>> = new Map()
+    for (const status of projectStatuses) {
+      if (status.category === undefined) continue
+      const map = statusesMap.get(status.category) ?? new Map<string, IssueStatus[]>()
+      const arr = map.get(status.name) ?? []
+      arr.push(status)
+      map.set(status.name, arr)
+      statusesMap.set(status.category, map)
+    }
+    for (const statuses of statusesMap.values()) {
+      for (const statusesArr of statuses.values()) {
+        if (statusesArr.length < 2) continue
+        const migrateTo = statusesArr[0]._id
+        for (let index = 1; index < statusesArr.length; index++) {
+          const status = statusesArr[index]
+          const tasks = await client.findAll(tracker.class.Issue, { status: status._id })
+          for (const task of tasks) {
+            await client.update(task, { status: migrateTo })
+          }
+        }
+      }
+    }
+  }
+}
+
 export const trackerOperation: MigrateOperation = {
   async migrate (client: MigrationClient): Promise<void> {
     await client.update(
@@ -869,5 +899,6 @@ export const trackerOperation: MigrateOperation = {
     await createDefaults(tx)
     await upgradeProjects(tx)
     await upgradeIssues(tx)
+    await removeExtraStatuses(tx)
   }
 }