diff --git a/src/main/java/io/ad/hashing/HashSet.java b/src/main/java/io/ad/hashing/HashSet.java
index 4e6a70c99d87a856eb9d297788a35a9d0dfbc50e..26edd5a58bb94fab2573538e470decd2f3600516 100644
--- a/src/main/java/io/ad/hashing/HashSet.java
+++ b/src/main/java/io/ad/hashing/HashSet.java
@@ -113,7 +113,9 @@ public class HashSet<E> implements Set<E> {
     public boolean remove(E e) {
         int pos = hashFunction(e.hashCode());
         List<E> list = hashtable.get(pos);
-        return list.remove(e);
+        boolean ok = list.remove(e);
+        if (ok) size--;
+        return ok;
     }
 
     @Override