Keep the definition of i consistent between set_lookkey() and set_insert_clean().
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 7236dd5..021b83e 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -56,11 +56,11 @@
     setentry *entry;
     size_t perturb = hash;
     size_t mask = so->mask;
-    size_t i = (size_t)hash; /* Unsigned for defined overflow behavior. */
+    size_t i = (size_t)hash & mask; /* Unsigned for defined overflow behavior */
     size_t j;
     int cmp;
 
-    entry = &table[i & mask];
+    entry = &table[i];
     if (entry->key == NULL)
         return entry;
 
@@ -116,9 +116,9 @@
         }
 
         perturb >>= PERTURB_SHIFT;
-        i = i * 5 + 1 + perturb;
+        i = (i * 5 + 1 + perturb) & mask;
 
-        entry = &table[i & mask];
+        entry = &table[i];
         if (entry->key == NULL)
             goto found_null;
     }