diff --git a/src/socPredef2cHeap.ml b/src/socPredef2cHeap.ml
index 91e6570cf990872890292f73c0c88bbc634542ab..e35dbc472d3334a9dbb5d9d599606f116b17b832 100644
--- a/src/socPredef2cHeap.ml
+++ b/src/socPredef2cHeap.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 10/04/2015 (at 17:05) by Erwan Jahier> *)
+(* Time-stamp: <modified the 10/04/2015 (at 17:52) by Erwan Jahier> *)
 
 open Data
 open Soc
@@ -263,7 +263,7 @@ let (get_iterator : Soc.t -> string -> Soc.t -> int -> string) =
 (* exported *)
 let (get_condact : Soc.t -> Soc.t -> var_expr list -> string ) = 
   fun soc condact_soc el -> 
-        let buff = ref "" in
+    let buff = ref "" in
     let add str = buff:=!buff^(str^"\n") in
 
     let clk = Printf.sprintf "ctx->i0" in
@@ -277,12 +277,12 @@ let (get_condact : Soc.t -> Soc.t -> var_expr list -> string ) =
       add (Soc2cHeap.gen_step_call soc condact_soc vel_out vel_in condact_ctx "step" "")
     else (
       let condact_ctx = 
-        let inst_name =
-          match soc.instances with
-            | [inst] -> (id2s (fst inst))
-            | _ -> assert false
-        in
-        Printf.sprintf  "ctx->%s" inst_name
+        match soc.instances with
+          | [inst] ->             
+            let _, get_index = Soc2cInstances.to_array soc.instances in
+            let index = get_index (inst) in
+            (Printf.sprintf "ctx->%s_tab[%d]" (get_ctx_name condact_soc.key) index)
+          | _ -> assert false
       in
       add (Soc2cHeap.gen_step_call soc condact_soc vel_out vel_in 
              condact_ctx "step" ("&"^condact_ctx))
diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index fd4aa8d7b75418afdb56479df31a4c4a3bb19220..16a09392a34e76be592573ccdcc29714ce6850f3 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,5 +1,5 @@
 ==> lus2lic0.sum <==
-Test Run By jahier on Fri Apr 10 17:45:43 
+Test Run By jahier on Fri Apr 10 17:55:35 
 Native configuration is x86_64-unknown-linux-gnu
 
 		=== lus2lic0 tests ===
@@ -63,7 +63,7 @@ XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/lecte
 XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/s.lus
 
 ==> lus2lic1.sum <==
-Test Run By jahier on Fri Apr 10 17:45:41 
+Test Run By jahier on Fri Apr 10 17:55:39 
 Native configuration is x86_64-unknown-linux-gnu
 
 		=== lus2lic1 tests ===
@@ -397,7 +397,7 @@ PASS: gcc -o multipar.exec multipar_multipar.c multipar_multipar_loop.c
 PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c multipar.lus  {}
 
 ==> lus2lic2.sum <==
-Test Run By jahier on Fri Apr 10 17:45:47 
+Test Run By jahier on Fri Apr 10 17:55:31 
 Native configuration is x86_64-unknown-linux-gnu
 
 		=== lus2lic2 tests ===
@@ -727,7 +727,7 @@ PASS: gcc -o zzz2.exec zzz2_zzz2.c zzz2_zzz2_loop.c
 PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c zzz2.lus  {}
 
 ==> lus2lic3.sum <==
-Test Run By jahier on Fri Apr 10 17:45:39 
+Test Run By jahier on Fri Apr 10 17:55:37 
 Native configuration is x86_64-unknown-linux-gnu
 
 		=== lus2lic3 tests ===
@@ -1230,7 +1230,7 @@ PASS: ./myec2c {-o multipar.c multipar.ec}
 PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node multipar.lus {}
 
 ==> lus2lic4.sum <==
-Test Run By jahier on Fri Apr 10 17:45:45 
+Test Run By jahier on Fri Apr 10 17:55:32 
 Native configuration is x86_64-unknown-linux-gnu
 
 		=== lus2lic4 tests ===
@@ -1727,11 +1727,11 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node zzz2.lus {}
 ===============================
 # Total number of failures: 14
 lus2lic0.log:testcase ./lus2lic.tests/test0.exp completed in 7 seconds
-lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 49 seconds
-lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 76 seconds
-lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 49 seconds
-lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 83 seconds
+lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 66 seconds
+lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 80 seconds
+lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 60 seconds
+lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 87 seconds
 * Ref time: 
 * Quick time (-j 4):
-0.04user 0.02system 1:29.13elapsed 0%CPU (0avgtext+0avgdata 5148maxresident)k
-160inputs+0outputs (0major+5541minor)pagefaults 0swaps
+0.02user 0.04system 1:29.54elapsed 0%CPU (0avgtext+0avgdata 5188maxresident)k
+160inputs+0outputs (0major+5585minor)pagefaults 0swaps
diff --git a/test/lus2lic.time b/test/lus2lic.time
index 1ccb85592ed52701e9fb3205b2f7d158f1578a6a..8893962cf6c7a30f10cb866c384b34d3965bf37c 100644
--- a/test/lus2lic.time
+++ b/test/lus2lic.time
@@ -1,9 +1,9 @@
 lus2lic0.log:testcase ./lus2lic.tests/test0.exp completed in 7 seconds
-lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 49 seconds
-lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 76 seconds
-lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 49 seconds
-lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 83 seconds
+lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 66 seconds
+lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 80 seconds
+lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 60 seconds
+lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 87 seconds
 * Ref time: 
 * Quick time (-j 4):
-0.04user 0.02system 1:29.13elapsed 0%CPU (0avgtext+0avgdata 5148maxresident)k
-160inputs+0outputs (0major+5541minor)pagefaults 0swaps
+0.02user 0.04system 1:29.54elapsed 0%CPU (0avgtext+0avgdata 5188maxresident)k
+160inputs+0outputs (0major+5585minor)pagefaults 0swaps