diff --git a/sbws/lib/v3bwfile.py b/sbws/lib/v3bwfile.py
index d827029b..fa05fbcb 100644
--- a/sbws/lib/v3bwfile.py
+++ b/sbws/lib/v3bwfile.py
@@ -229,7 +229,9 @@ def from_results(cls, results, scanner_country=None,
         kwargs = dict()
         latest_bandwidth = cls.latest_bandwidth_from_results(results)
         earliest_bandwidth = cls.earliest_bandwidth_from_results(results)
+        # NOTE: Blocking, reads file
         generator_started = cls.generator_started_from_file(state_fpath)
+        consensus_count = cls.consensus_count_from_file(state_fpath)
         timestamp = str(latest_bandwidth)
         kwargs['latest_bandwidth'] = unixts_to_isodt_str(latest_bandwidth)
         kwargs['earliest_bandwidth'] = unixts_to_isodt_str(earliest_bandwidth)
@@ -240,6 +242,8 @@ def from_results(cls, results, scanner_country=None,
             kwargs['scanner_country'] = scanner_country
         if destinations_countries is not None:
             kwargs['destinations_countries'] = destinations_countries
+        if consensus_count is not None:
+            kwargs['recent_consensus_count'] = str(consensus_count)
         h = cls(timestamp, **kwargs)
         return h
 
@@ -296,6 +300,14 @@ def generator_started_from_file(state_fpath):
         else:
             return None
 
+    @staticmethod
+    def consensus_count_from_file(state_fpath):
+        state = State(state_fpath)
+        if 'consensus_count' in state:
+            return state['consensus_count']
+        else:
+            return None
+
     @staticmethod
     def latest_bandwidth_from_results(results):
         return round(max([r.time for fp in results for r in results[fp]]))