diff --git a/C/compiler.c b/C/compiler.c index 75d5e9c47..1529072fe 100644 --- a/C/compiler.c +++ b/C/compiler.c @@ -872,13 +872,14 @@ c_eq(Term t1, Term t2, compiler_struct *cglobs) } /* first argument is an unbound var */ if (IsNewVar(t1)) { + Int v = --cglobs->tmpreg; if (IsVarTerm(t2)) { - c_var(t2, 1, 0, 0, cglobs); + c_var(t2, v, 0, 0, cglobs); } else { - c_arg(1, t2, 0, 0, cglobs); + c_arg(v, t2, 0, 0, cglobs); } cglobs->onhead = TRUE; - c_var(t1, 1, 0, 0, cglobs); + c_var(t1, v, 0, 0, cglobs); cglobs->onhead = FALSE; } else { c_var(t1, 0, 0, 0, cglobs);