diff --git a/C/stdpreds.c b/C/stdpreds.c index 2027c0fac..2950da7b5 100644 --- a/C/stdpreds.c +++ b/C/stdpreds.c @@ -807,7 +807,7 @@ static Int cont_current_predicate(USES_REGS1) { break; } } - if (!pp) { + if (!pp && p) { // try using outer loop for (; p; p = p->NextOfPE) { if (p->KindOfPE == PEProp) { @@ -823,13 +823,12 @@ static Int cont_current_predicate(USES_REGS1) { if (q->KindOfPE == PEProp) { pp = RepPredProp(q); q = q->NextOfPE; - if (!q) - p = p->NextOfPE; - if (!p) + if (!q && !p->NextOfPE) is_det = true; break; } } + break; } } }