diff --git a/src/mem/cache/tags/base.cc b/src/mem/cache/tags/base.cc
index 13e1245..caed594 100644
--- a/src/mem/cache/tags/base.cc
+++ b/src/mem/cache/tags/base.cc
@@ -99,7 +99,6 @@
     blk->insert(extractTag(addr), pkt->isSecure(), master_id,
                 pkt->req->taskId());
 
-    tagsInUse++;
     if (!warmedUp && tagsInUse.value() >= warmupBound) {
         warmedUp = true;
         warmupCycle = curTick();
diff --git a/src/mem/cache/tags/base.hh b/src/mem/cache/tags/base.hh
index 2777198..0cc7902 100644
--- a/src/mem/cache/tags/base.hh
+++ b/src/mem/cache/tags/base.hh
@@ -253,7 +253,6 @@
         assert(blk);
         assert(blk->isValid());
 
-        tagsInUse--;
         occupancies[blk->srcMasterId]--;
         totalRefs += blk->refCount;
         sampledRefs++;
diff --git a/src/mem/cache/tags/base_set_assoc.cc b/src/mem/cache/tags/base_set_assoc.cc
index ae98dcf..18da532 100644
--- a/src/mem/cache/tags/base_set_assoc.cc
+++ b/src/mem/cache/tags/base_set_assoc.cc
@@ -113,6 +113,9 @@
 {
     BaseTags::invalidate(blk);
 
+    // Decrease the number of tags in use
+    tagsInUse--;
+
     // Invalidate replacement data
     replacementPolicy->invalidate(blk->replacementData);
 }
diff --git a/src/mem/cache/tags/base_set_assoc.hh b/src/mem/cache/tags/base_set_assoc.hh
index d19a00e..b41c309 100644
--- a/src/mem/cache/tags/base_set_assoc.hh
+++ b/src/mem/cache/tags/base_set_assoc.hh
@@ -122,8 +122,8 @@
     virtual ~BaseSetAssoc() {};
 
     /**
-     * This function updates the tags when a block is invalidated but does
-     * not invalidate the block itself. It also updates the replacement data.
+     * This function updates the tags when a block is invalidated. It also
+     * updates the replacement data.
      *
      * @param blk The block to invalidate.
      */
@@ -252,6 +252,9 @@
         // Insert block
         BaseTags::insertBlock(pkt, blk);
 
+        // Increment tag counter
+        tagsInUse++;
+
         // Update replacement policy
         replacementPolicy->reset(blk->replacementData);
     }
diff --git a/src/mem/cache/tags/fa_lru.cc b/src/mem/cache/tags/fa_lru.cc
index 8eab628..b5950f6 100644
--- a/src/mem/cache/tags/fa_lru.cc
+++ b/src/mem/cache/tags/fa_lru.cc
@@ -122,6 +122,9 @@
 {
     BaseTags::invalidate(blk);
 
+    // Decrease the number of tags in use
+    tagsInUse--;
+
     // Move the block to the tail to make it the next victim
     moveToTail((FALRUBlk*)blk);
 
@@ -169,7 +172,6 @@
     return blk;
 }
 
-
 CacheBlk*
 FALRU::findBlock(Addr addr, bool is_secure) const
 {
@@ -215,6 +217,9 @@
     // Do common block insertion functionality
     BaseTags::insertBlock(pkt, blk);
 
+    // Increment tag counter
+    tagsInUse++;
+
     // New block is the MRU
     moveToHead(falruBlk);
 
