diff --git a/mpi/scanned_days_manager.py b/mpi/scanned_days_manager.py
index b4d23c3f5a2604fd81ceb4e58969a9cea0e89bba..00d247efa723b2fc3a6e486a6c4498b71cf10727 100644
--- a/mpi/scanned_days_manager.py
+++ b/mpi/scanned_days_manager.py
@@ -24,12 +24,13 @@ class ScannedDaysManager(object):
                 del container[chunk]
 
     def __filter(self, mydict, chunk_filter, template_filter):
-        if template_filter is None:
-            chunks = set(mydict.keys())
-        else:
+        chunks = set(mydict.keys())
+        if chunk_filter is not None:
+            chunks &= set(chunk_filter)
+        if template_filter is not None:
             template_filter = set(template_filter)
-            chunks = { c for c, t_set in mydict.items() if t_set & template_filter }
-        return chunks if chunk_filter is None else set(chunk_filter) & chunks
+            chunks = { c for c in chunks if mydict[c] & template_filter }
+        return chunks
 
     def add_chunk_to_process(self, chunk):
         if chunk not in self.chunks: