diff --git a/src/caosdb/common/administration.py b/src/caosdb/common/administration.py
index ee57a370db58c3f1b604014a08b8de457724005f..7f7217135b2f37c0ae13fb85f94703e94b03e205 100644
--- a/src/caosdb/common/administration.py
+++ b/src/caosdb/common/administration.py
@@ -251,11 +251,12 @@ class PermissionRule():
         xml = etree.fromstring(body)
         ret = set()
         for c in xml:
-            ret.add(PermissionRule._parse_element(c))
+            if c.tag in ["Grant", "Deny"]:
+                ret.add(PermissionRule._parse_element(c))
         return ret
 
     def __str__(self):
-        return self._action + "(" + self._permission + ")" + \
+        return str(self._action) + "(" + str(self._permission) + ")" + \
             ("P" if self._priority is True else "")
 
     def __repr__(self):