diff --git a/lib/sup/maildir.rb b/lib/sup/maildir.rb
index <HASH>..<HASH> 100644
--- a/lib/sup/maildir.rb
+++ b/lib/sup/maildir.rb
@@ -94,7 +94,7 @@ class Maildir < Source
       next if prev_mtime >= mtime
       @mtimes[d] = mtime
 
-      old_ids = benchmark(:index) { Enumerator.new(Index, :each_source_info, self.id, "#{d}/").to_a }
+      old_ids = benchmark(:index) { Enumerator.new(Index.instance, :each_source_info, self.id, "#{d}/").to_a }
       new_ids = benchmark(:glob) { Dir.glob("#{subdir}/*").map { |x| File.basename x }.sort }
       added = new_ids - old_ids
       deleted = old_ids - new_ids
workaround bad interaction between Singleton and Enumerator