diff --git a/src/test/should_work/lionel/mapiter.lus b/src/test/should_work/lionel/mapiter.lus
index 12a52de9eda81a0b470514f14b1d26dbcdf64f71..c691d7e729a599b79d6f6f1ba9026a5e8da627c6 100644
--- a/src/test/should_work/lionel/mapiter.lus
+++ b/src/test/should_work/lionel/mapiter.lus
@@ -41,7 +41,7 @@ tel
 
 -- calcule la matrice (L, H) des "xor" des entrées:   
 ---------------------------------------------------
-node map_egal = map<< Lustre::egal ,  L>>;
+node map_egal = map<< Lustre::eq ,  L>>;
 node composemat ( i1, i2 : T_Reg_H ) returns ( s1 : T_Reg_H );
 let
 --       s1 = map<< map<< = ,  L>> ,  H>>( i1, i2 );
diff --git a/src/test/test.res.exp b/src/test/test.res.exp
index 96452691bf28da7f5ed27c98672577b0b9149ed8..785a165030e77ab195bc4ecae59184ef55f88bdc 100644
--- a/src/test/test.res.exp
+++ b/src/test/test.res.exp
@@ -10382,11 +10382,56 @@ let
    res =  if ((b = true)) then ((init + 1)) else (init);
 tel
 -- end of node mapiter__incr
-*** Could not find package Lustre in the package table
-*** Raised in file "should_work/lionel/mapiter.lus", line 44, col 23 to 34, token 'Lustre::egal'
-
-*** oops: an internal error occurred in file syntaxTab.ml, line 114, column 6
-*** when compiling lustre program should_work/lionel/mapiter.lus
+function mapiter__map_egal(i1:a^2; i2:a^2) returns (o:bool^2);
+let
+   o = Lustre__map<<node Lustre__=, const 2>>(i1, i2);
+tel
+-- end of node mapiter__map_egal
+node mapiter__bitalt(in:bool) returns (sacc:bool; out:bool);
+let
+   sacc = not(in);
+   out = in;
+tel
+-- end of node mapiter__bitalt
+function mapiter__fill_bitalt(in:bool) returns (sacc:bool; out:bool^2);
+let
+   (sacc, out) = Lustre__fill<<node mapiter__bitalt, const 2>>(in);
+tel
+-- end of node mapiter__fill_bitalt
+node mapiter__initmat(iacc:bool) returns (sacc:bool; R:bool^2^3);
+let
+   (sacc, R) = fill<<node mapiter__fill_bitalt, const 3>>(iacc);
+tel
+-- end of node mapiter__initmat
+function mapiter__red_incr(init:int; b:bool^2) returns (res:int);
+let
+   res = Lustre__red<<node mapiter__incr, const 2>>(init, b);
+tel
+-- end of node mapiter__red_incr
+node mapiter__reducemat(iacc:int; I:bool^2^3) returns (res:int);
+let
+   res = red<<node mapiter__red_incr, const 3>>(iacc, I);
+tel
+-- end of node mapiter__reducemat
+node mapiter__composemat(i1:bool^2^3; i2:bool^2^3) returns (s1:bool^2^3);
+let
+   s1 = map<<node mapiter__map_egal, const 3>>(i1, i2);
+tel
+-- end of node mapiter__composemat
+node mapiter__mapiter(a:bool) returns (nbTrue:int);
+var
+   bid1:bool;
+   bid2:bool;
+   init1:bool^2^3;
+   init2:bool^2^3;
+   XORMAT:bool^2^3;
+let
+   (bid1, init1) = mapiter__initmat(a);
+   (bid2, init2) = mapiter__initmat(not(a));
+   XORMAT = mapiter__composemat(init1, init2);
+   nbTrue = mapiter__reducemat(0, XORMAT);
+tel
+-- end of node mapiter__mapiter
 
 ----------------------------------------------------------------------
 ====> ../lus2lic -vl 3 --compile-all-items should_work/lionel/matrice.lus