Solves problem where non deterministic predicates where run too early