diff --git a/swh/loader/vcs/cache.py b/swh/loader/vcs/cache.py
index f3ada05e3e941b491c42030d66a22b4fd0ee043e..4607c0e3c3681a9f77363c3ed47add8913a083e7 100644
--- a/swh/loader/vcs/cache.py
+++ b/swh/loader/vcs/cache.py
@@ -55,3 +55,6 @@ class SimpleCache():
 
     def set(self):
         return self.s
+
+    def __contains__(self, e):
+        return e in self.s
diff --git a/swh/loader/vcs/loader.py b/swh/loader/vcs/loader.py
index 9ab9ac9c1de17e4476e7d58f455afce4be77f74d..8b60f77cbfb5f62cfc723becb88a4fa8a4d05685 100644
--- a/swh/loader/vcs/loader.py
+++ b/swh/loader/vcs/loader.py
@@ -217,7 +217,7 @@ class SWHLoader(config.SWHConfig):
         shallow_blobs = []
         for blob in blobs:
             key = blob['sha1']
-            if key in self.contents_seen.set():
+            if key in self.contents_seen:
                 continue
             blobs_per_sha1[key] = blob
             shallow_blobs.append(converters.shallow_blob(blob))
@@ -245,7 +245,7 @@ class SWHLoader(config.SWHConfig):
         shallow_trees = []
         for tree in trees:
             key = tree['sha1_git']
-            if key in self.directories_seen.set():
+            if key in self.directories_seen:
                 continue
 
             trees_per_sha1[key] = tree
@@ -271,7 +271,7 @@ class SWHLoader(config.SWHConfig):
         shallow_commits = []
         for commit in commits:
             key = commit['id']
-            if key in self.revisions_seen.set():
+            if key in self.revisions_seen:
                 continue
 
             commits_per_sha1[key] = commit
@@ -300,7 +300,7 @@ class SWHLoader(config.SWHConfig):
         shallow_tags = []
         for tag in tags:
             key = tag['id']
-            if key in self.releases_seen.set():
+            if key in self.releases_seen:
                 continue
 
             tags_per_sha1[key] = tag
diff --git a/swh/loader/vcs/tests/test_cache.py b/swh/loader/vcs/tests/test_cache.py
index 7f841f181c1449f2df6643a2bece0439411bb745..b286cdab5fda80595f86a5a8f31971c7ce3832a9 100644
--- a/swh/loader/vcs/tests/test_cache.py
+++ b/swh/loader/vcs/tests/test_cache.py
@@ -31,20 +31,37 @@ class TestSimpleCache(unittest.TestCase):
 
         # when
         self.assertEquals(cache.set(), {1, 2, 3})
+        self.assertTrue(1 in cache)
+        self.assertTrue(2 in cache)
+        self.assertTrue(3 in cache)
+        self.assertTrue(4 not in cache)
         self.assertEquals(cache.count, 3)
 
         cache.add(4)
         cache.add(5)
 
         self.assertEquals(cache.set(), {1, 2, 3, 4, 5})
+        self.assertTrue(1 in cache)
+        self.assertTrue(2 in cache)
+        self.assertTrue(3 in cache)
+        self.assertTrue(4 in cache)
+        self.assertTrue(5 in cache)
         self.assertEquals(cache.count, 5)
 
         cache.add(6)  # we hit max-size, 50% of elements (here 3) are evicted
 
         self.assertEquals(cache.set(), {4, 5, 6})
+        self.assertTrue(4 in cache)
+        self.assertTrue(5 in cache)
+        self.assertTrue(6 in cache)
+        self.assertTrue(1 not in cache)
+        self.assertTrue(2 not in cache)
+        self.assertTrue(3 not in cache)
         self.assertEquals(cache.count, 3)
 
         cache.add(7)
         cache.add(8)
         self.assertEquals(cache.set(), {4, 5, 6, 7, 8})
+        self.assertTrue(7 in cache)
+        self.assertTrue(8 in cache)
         self.assertEquals(cache.count, 5)