diff --git a/ldap_server_entries.json b/ldap_server_entries.json
index 4c76279fbf5da7bb455bbd6d0dbdfd1952a07111..5d98bb395519bc733b1d47b0118e7977b74e31a9 100644
--- a/ldap_server_entries.json
+++ b/ldap_server_entries.json
@@ -192,6 +192,7 @@
                     "cn=Subschema"
                 ],
                 "uniqueMember": [
+                    "cn=dummy,ou=system,dc=example,dc=com",
                     "uid=testuser,ou=users,dc=example,dc=com",
                     "uid=testadmin,ou=users,dc=example,dc=com"
                 ]
@@ -242,6 +243,7 @@
                     "cn=Subschema"
                 ],
                 "uniqueMember": [
+                    "cn=dummy,ou=system,dc=example,dc=com",
                     "uid=testuser,ou=users,dc=example,dc=com",
                     "uid=testadmin,ou=users,dc=example,dc=com"
                 ]
@@ -292,6 +294,7 @@
                     "cn=Subschema"
                 ],
                 "uniqueMember": [
+                    "cn=dummy,ou=system,dc=example,dc=com",
                     "uid=testadmin,ou=users,dc=example,dc=com"
                 ]
             }
diff --git a/uffd/ldap.py b/uffd/ldap.py
index 83112cb8ad5402745833f27a3c28858aef83b764..4ae9a330da5a18035d9a627fecece0eb97cc9dd5 100644
--- a/uffd/ldap.py
+++ b/uffd/ldap.py
@@ -133,13 +133,13 @@ class LDAPSet(MutableSet):
 		return repr(set(self))
 
 	def __contains__(self, value):
-		return self.__encode(value) in self.__getitems()
+		return value is not None and self.__encode(value) in self.__getitems()
 	
 	def __iter__(self):
-		return iter(map(self.__decode, self.__getitems()))
+		return iter(filter(lambda obj: obj is not None, map(self.__decode, self.__getitems())))
 
 	def __len__(self):
-		return len(self.__getitems())
+		return len(set(self))
 
 	def add(self, value):
 		if value not in self: