diff --git a/modules/recheckwatch/files/recheckwatch b/modules/recheckwatch/files/recheckwatch
index 11238d7857..1fa7e5a112 100755
--- a/modules/recheckwatch/files/recheckwatch
+++ b/modules/recheckwatch/files/recheckwatch
@@ -102,6 +102,7 @@ class Scoreboard(threading.Thread):
         self.template_dir = config.get('recheckwatch', 'template_dir')
         self.output_file = config.get('recheckwatch', 'output_file')
         self.age = config.getint('recheckwatch', 'age')
+        self.closed_age = config.getint('recheckwatch', 'closed_age')
         self.regex = re.compile(config.get('recheckwatch', 'regex'))
 
         if os.path.exists(self.pickle_file):
@@ -161,10 +162,13 @@ class Scoreboard(threading.Thread):
             del self.scores[bugno]
 
         # Remove bugs that haven't been seen in ages
+        # Or closed bugs older then self.closed_age
         to_remove = []
         now = datetime.datetime.utcnow()
         for bugno, bug in self.scores.items():
-            if bug.last_seen < now-datetime.timedelta(days=self.age):
+            if (bug.last_seen < now-datetime.timedelta(days=self.age) or
+                    (bug.is_closed() and
+                     bug.last_seen < now-datetime.timedelta(days=self.closed_age))):
                 to_remove.append(bugno)
         for bugno in to_remove:
             del self.scores[bugno]
diff --git a/modules/recheckwatch/templates/recheckwatch.conf.erb b/modules/recheckwatch/templates/recheckwatch.conf.erb
index 8661d0851d..454e8ee716 100644
--- a/modules/recheckwatch/templates/recheckwatch.conf.erb
+++ b/modules/recheckwatch/templates/recheckwatch.conf.erb
@@ -3,6 +3,7 @@ pickle_dir=/var/lib/recheckwatch
 template_dir=/var/lib/recheckwatch
 output_file=/var/www/recheckwatch/rechecks.html
 age=30 ; days
+closed_age=5 ; days
 regex=(?i)^(?P<verb>recheck|reverify) (?:bug|lp)[\s#:]*(?P<bugno>\d+)$
 
 [gerrit]