diff --git a/src/licDump.ml b/src/licDump.ml
index 581a5fc113adbf1f1fde0f876ea6fb8336d8236e..e85cf158930a4d8927aaa588eecf3fcdca447477 100644
--- a/src/licDump.ml
+++ b/src/licDump.ml
@@ -47,9 +47,12 @@ let rec is_a_tuple (e:Lic.val_exp) : bool =
 
 (******************************************************************************)    
 let string_of_ident x =
-   if global_opt.no_prefix
+ if global_opt.kcg then 
+   Lv6Id.no_pack_string_of_long x
+ else
+  if global_opt.no_prefix
    then Lv6Id.no_pack_string_of_long x
-   else Lv6Id.string_of_long2 x
+  else Lv6Id.string_of_long2 x
 
 
 
@@ -359,7 +362,7 @@ and (string_of_by_pos_op_eff: Lic.by_pos_op srcflagged -> Lic.val_exp list -> st
     let tuple_square vel = 
       "[" ^ (String.concat ", " (List.map string_of_val_exp_eff vel)) ^ "]"
     in
-    let str = 
+    let str =
       match posop.it,vel with
         | CONST c,_ -> string_of_const_eff c 
         | CALL ({it=("Lustre","not"),[]}), [ve1]
@@ -369,10 +372,13 @@ and (string_of_by_pos_op_eff: Lic.by_pos_op srcflagged -> Lic.val_exp list -> st
             
         | CALL ({it=("Lustre","diese"),[]}), [ve1] 
         | PREDEF_CALL ({it=("Lustre","diese"),[]}), [ve1] ->
-          if global_opt.lv4 && array_of_size_one ve1
+          if (global_opt.lv4) && array_of_size_one ve1
           then sov ve1 (* lv4 does no accept to apply # on One var only! *)
-          else 
-            (("#") ^ (tuple_par [ve1]))
+          (*else if global_opt.kcg then
+	     ("#" ^ (dump_array_no_square ve1)) *)
+	  (* do later *)
+	  else
+            ("#" ^ (tuple_par [ve1]))
 
         | CALL ({it=("Lustre","nor"),[]}), [ve1] 
         | PREDEF_CALL ({it=("Lustre","nor"),[]}), [ve1] ->
diff --git a/src/lv6MainArgs.ml b/src/lv6MainArgs.ml
index 37d6fa9cef10b120a7b2345a62b446f23715a5bf..2e752082f8fc3fdb8f8be706f80862366b53e969 100644
--- a/src/lv6MainArgs.ml
+++ b/src/lv6MainArgs.ml
@@ -337,7 +337,10 @@ let mkoptab (opt:t) : unit = (
     ;
     mkopt opt ~doc_level:Dev
       ["-kcg"; "--generate-scade-lustre"]
-      (Arg.Unit (fun _ -> global_opt.kcg <- true))
+      (Arg.Unit (fun _ -> 
+	opt.expand_arrays <- true; (* XXX remove me ! *)
+	global_opt.kcg <- true
+       ))
       [" Generate lustre code that is compatible with the lustre of scade"]
     ;
     mkopt opt