diff --git a/Src/COLIBRI/solve.pl b/Src/COLIBRI/solve.pl
index 4f7302cf61a1c77fed389a09b0ad4f1fb49762ec..d032e51f110966eee1e616fb1dec9e15dd5df1bb 100644
--- a/Src/COLIBRI/solve.pl
+++ b/Src/COLIBRI/solve.pl
@@ -2129,13 +2129,13 @@ unfold_int_expr(EA #\= EB,D,Cstr,Type0,R) ?-
 unfold_int_expr(alldiff(Type,L),D,Cstr,Bool,R) :-
     ND is D + 1,
     Bool = bool,
-    (real_type(Type,_) ->
+    (real_type(Type,IType) ->
         Real = 1
     ;   true),
     (foreach(E,L),
      foreach(RE,NL),
      fromto(true,I,O,CL),
-     param(NType,Real,ND,R) do
+     param(Type,Real,ND,R) do
         (var(Real) ->
             unfold_int_expr(E,ND,CE,Type,RE)
         ;   unfold_real_expr(E,ND,CE,Type,RE)),
@@ -2144,8 +2144,8 @@ unfold_int_expr(alldiff(Type,L),D,Cstr,Bool,R) :-
     !,
     int_vars(bool,R),
     insert_dep_inst(dep(R,D,NL)),
-    (nonvar(Real) ->
-        IType = real
+    (nonvar(IType) ->
+        true
     ;   ((Type = sort(_);
           Type == rnd;
           Type = array(_,_))