diff -r 810a05fba1a4 -r b0155bfd4e17 predicates.py --- a/predicates.py Fri Jun 14 16:02:39 2013 +0200 +++ b/predicates.py Mon Jul 15 10:40:49 2013 +0200 @@ -994,7 +994,11 @@ return 0 # relation not supported if self.action: if self.target_etype is not None: - rschema = rschema.role_rdef(entity.e_schema, self.target_etype, self.role) + try: + rschema = rschema.role_rdef(entity.e_schema, + self.target_etype, self.role) + except KeyError: + return 0 if self.role == 'subject': if not rschema.has_perm(entity._cw, self.action, fromeid=entity.eid): return 0