diff --git a/C/errors.c b/C/errors.c index 10eebeca0..726f98155 100644 --- a/C/errors.c +++ b/C/errors.c @@ -315,7 +315,8 @@ Error (yap_error_number type, Term where, char *format,...) /* disallow recursive error handling */ if (PrologMode & InErrorMode) return(P); - where = Deref(where); + if (type != PURE_ABORT) + where = Deref(where); if (IsVarTerm(where)) { /* we must be careful someone gave us a copy to a local variable */ Term t = MkVarTerm();