diff --git a/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts b/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts
index 2548c87d19351856647be0240fec4d1c9978036a..ddefe40a1ab26149a8ca0c5f66b80bcd7e7e89e3 100644
--- a/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts
+++ b/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts
@@ -87,16 +87,16 @@ export class LevelMIndexExpiresOnIndexer extends LevelDBDataIndex<
         }
       })
     );
-    // Case 2: expiration REVERT
+    // Case 2: REVERT expired = put back the value of `expires_on`
     const values: MindexEntry[] = Underscore.values(
       newStateByPub
     ).map((entries) => reduce(entries));
-    const byExpiredOn = reduceGroupBy(values, "expired_on");
+    const byExpiresOnForExpired = reduceGroupBy(values, "expires_on");
     await Promise.all(
-      Underscore.keys(byExpiredOn).map(async (expiresOn) =>
+      Underscore.keys(byExpiresOnForExpired).map(async (expiresOn) =>
         this.addAllKeysToExpiresOn(
           pint(expiresOn),
-          byExpiredOn[expiresOn].map((e) => e.pub)
+          byExpiresOnForExpired[expiresOn].map((e) => e.pub)
         )
       )
     );
@@ -112,7 +112,9 @@ export class LevelMIndexExpiresOnIndexer extends LevelDBDataIndex<
       entry = [];
     }
     for (const pub of pubkeys) {
-      entry.push(pub);
+      if (!entry.includes(pub)) {
+        entry.push(pub);
+      }
     }
     await this.put(key, entry);
   }