diff -r 78071e41926f -r 3e4bef7d514d predicates.py --- a/predicates.py Wed Jul 10 15:03:50 2013 +0200 +++ b/predicates.py Mon Jul 22 09:47:56 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