diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index fb0eca5ba04be36838788e1643f9684ece9e8544..13297c9ec95150d14a822aef4d213b35817426ea 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1705,6 +1705,7 @@ routerlist_remove_old_routers(void)
     }
     if (memcmp(cur_id, r->identity_digest, DIGEST_LEN)) {
       routerlist_remove_old_cached_routers_with_id(cutoff, i+1, hi);
+      cur_id = r->identity_digest;
       hi = i;
     }
   }