diff --git a/_oasis b/_oasis
index e25ebfdd3fe34bc1a7bf0d908630c4ebc8ca2331..57aec05997b9576010c5744b30b79f61adbe3db7 100644
--- a/_oasis
+++ b/_oasis
@@ -18,7 +18,7 @@ Executable lus2lic
   BuildDepends: str,unix,num,rdbg-plugin
   Build:true
   CompiledObject: native
-	#  CompiledObject: byte
+#  CompiledObject: byte
 
 # to use ocamldebug:
 #  - here: set CompiledObject from native to byte
diff --git a/src/l2lExpandNodes.ml b/src/l2lExpandNodes.ml
index ea965582bbc0893b46191dbc3fea3e6eb00833ca..ce4df80dc582a9baf060da9f4527faf5bf4f0cde 100644
--- a/src/l2lExpandNodes.ml
+++ b/src/l2lExpandNodes.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 02/10/2014 (at 14:33) by Erwan Jahier> *)
+(* Time-stamp: <modified the 09/10/2014 (at 17:31) by Erwan Jahier> *)
 
 
 open Lxm
@@ -78,7 +78,9 @@ and (subst_in_clock : subst -> clock -> clock) =
 and (subst_in_val_exp : subst -> val_exp -> val_exp) =
   fun s ve -> 
     let newve = {
-      ve with ve_core =
+      ve with 
+        ve_clk = List.map (subst_in_clock s) ve.ve_clk;
+        ve_core =
         match ve.ve_core with
 	       | CallByPosLic (by_pos_op, vel) -> 
             let lxm = by_pos_op.src in
@@ -108,7 +110,7 @@ and (subst_in_val_exp : subst -> val_exp -> val_exp) =
             CallByNameLic(by_name_op, fl) 
           | Merge(ce,cl) ->
             let cl = List.map (fun (id,ve) -> (id, subst_in_val_exp s ve)) cl in
-            Merge(ce, cl)
+            Merge(subst_in_val_exp s ce, cl)
     }
     in
     newve
diff --git a/src/lv6MainArgs.ml b/src/lv6MainArgs.ml
index 506f5acc2358256b2c37f324068e5d378d1f821f..c9afc552c54dc0f62557c787b2e12686b8a2cbfd 100644
--- a/src/lv6MainArgs.ml
+++ b/src/lv6MainArgs.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 09/10/2014 (at 16:33) by Erwan Jahier> *)
+(* Time-stamp: <modified the 09/10/2014 (at 16:37) by Erwan Jahier> *)
 (*
 Le manager d'argument adapté de celui de lutin, plus joli
 N.B. solution un peu batarde : les options sont stockées, comme avant, dans Global,
@@ -347,6 +347,11 @@ let mkoptab (opt:t) : unit = (
       ["Test the syntactic analysis"]
     ;
     *)
+    mkopt opt ~hide:true
+      ["-cc"]
+      (Arg.Unit (fun i -> opt.launch_cc <- true))
+      ["Try to compile the generated C files (requires -2c)"]
+    ;
     mkopt opt ~hide:true
       ["--2c-no-switch"]
       (Arg.Unit (fun () -> global_opt.soc2c_no_switch <-true))
@@ -367,11 +372,6 @@ let mkoptab (opt:t) : unit = (
       (Arg.Int (fun i -> opt.precision <- Some i))
       ["Number of digits after ther dot used to print floats"]
     ;
-    mkopt opt ~hide:true
-      ["-cc"]
-      (Arg.Unit (fun i -> opt.launch_cc <- true))
-      ["Try to compile the generated C files (requires -2c)"]
-    ;
     mkopt opt ~hide:true
       ["--nonreg-test"]
       (Arg.Unit (fun () -> global_opt.nonreg_test <- true))
diff --git a/src/lv6version.ml b/src/lv6version.ml
index 425e008105c2978bff228bf61cae8b407ce9b84b..8ce205c2c30b79920ed7147b062c6ee70ed0a3db 100644
--- a/src/lv6version.ml
+++ b/src/lv6version.ml
@@ -1,7 +1,7 @@
 (** Automatically generated from Makefile *) 
 let tool = "lus2lic"
 let branch = "(no"
-let commit = "537"
-let sha_1 = "244b252de2d9002b9e87972eb28532fea2fedcad"
+let commit = "538"
+let sha_1 = "ec662f2854628055e0b1e1ce992a6eb3189fca6d"
 let str = (branch ^ "." ^ commit ^ " (" ^ sha_1 ^ ")")
 let maintainer = "jahier@imag.fr"
diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index 0b56e984177b349fae10cec9685067bd91f1f552..b2fdef79f20eb015c68dc20bb6cee363821c15c0 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,5 +1,5 @@
 ==> lus2lic0.sum <==
-Test Run By jahier on Thu Oct  9 16:24:18 
+Test Run By jahier on Thu Oct  9 17:55:51 
 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 Thu Oct  9 16:24:19 
+Test Run By jahier on Thu Oct  9 17:55:49 
 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 Thu Oct  9 16:24:38 
+Test Run By jahier on Thu Oct  9 17:55:57 
 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 Thu Oct  9 16:25:39 
+Test Run By jahier on Thu Oct  9 17:55:55 
 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 Thu Oct  9 16:25:57 
+Test Run By jahier on Thu Oct  9 17:55:53 
 Native configuration is x86_64-unknown-linux-gnu
 
 		=== lus2lic4 tests ===
@@ -1727,11 +1727,13 @@ 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 0 seconds
-lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 19 seconds
-lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 61 seconds
-lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 18 seconds
-lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 65 seconds
+lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 21 seconds
+lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 63 seconds
+lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 19 seconds
+lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 67 seconds
 * Ref time: 
-0.06user 0.07system 2:44.11elapsed 0%CPU (0avgtext+0avgdata 3000maxresident)k
-120inputs+0outputs (0major+14855minor)pagefaults 0swaps
+0.03user 0.06system 2:43.55elapsed 0%CPU (0avgtext+0avgdata 3004maxresident)k
+120inputs+0outputs (0major+14860minor)pagefaults 0swaps
 * Quick time (-j 4):
+0.04user 0.06system 1:12.11elapsed 0%CPU (0avgtext+0avgdata 3004maxresident)k
+120inputs+0outputs (0major+14864minor)pagefaults 0swaps
diff --git a/test/lus2lic.time b/test/lus2lic.time
index a1e9d3482026e3c1f845944b4ca604c22ff7716c..18a0a5847aca26310c473bb675f9837b69f07a6c 100644
--- a/test/lus2lic.time
+++ b/test/lus2lic.time
@@ -1,9 +1,11 @@
 lus2lic0.log:testcase ./lus2lic.tests/test0.exp completed in 0 seconds
-lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 19 seconds
-lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 61 seconds
-lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 18 seconds
-lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 65 seconds
+lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 21 seconds
+lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 63 seconds
+lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 19 seconds
+lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 67 seconds
 * Ref time: 
-0.06user 0.07system 2:44.11elapsed 0%CPU (0avgtext+0avgdata 3000maxresident)k
-120inputs+0outputs (0major+14855minor)pagefaults 0swaps
+0.03user 0.06system 2:43.55elapsed 0%CPU (0avgtext+0avgdata 3004maxresident)k
+120inputs+0outputs (0major+14860minor)pagefaults 0swaps
 * Quick time (-j 4):
+0.04user 0.06system 1:12.11elapsed 0%CPU (0avgtext+0avgdata 3004maxresident)k
+120inputs+0outputs (0major+14864minor)pagefaults 0swaps