diff --git a/_oasis b/_oasis
index a666c10ae717dcf29722a1de3833b31318030955..dfe188a59fea625ef488cf7feb09ea194caaba16 100644
--- a/_oasis
+++ b/_oasis
@@ -1,6 +1,6 @@
 OASISFormat: 0.4
 Name:        lustre-v6
-Version:     1.730
+Version:     1.731
 Synopsis:    The Lustre V6 Verimag compiler
 Description: This package contains:
  - lus2lic: the (current) name of the compiler (and interpreter via -exec)
diff --git a/lv6-ref-man/lv6-ref-man.pdf b/lv6-ref-man/lv6-ref-man.pdf
index f4ca2c8ea1530e81eb77d4d36ba6cafbaf967bde..594c50d734d8149fceb68abc4a1b8047f4ca8762 100644
Binary files a/lv6-ref-man/lv6-ref-man.pdf and b/lv6-ref-man/lv6-ref-man.pdf differ
diff --git a/src/lv6version.ml b/src/lv6version.ml
index 377fcf93e9bc297cf917cc657a910d4e9255380a..06ad2fc485f027d69fce7bcd014bbf5171eb76cd 100644
--- a/src/lv6version.ml
+++ b/src/lv6version.ml
@@ -2,6 +2,6 @@
 let tool = "lus2lic"
 let branch = "master"
 let commit = ""
-let sha_1 = "803db8564c42740d0cd58620c374a5189235c61d"
+let sha_1 = "6710f70f1ebdb1ad0bea5026e2901aa63fe799d5"
 let str = (branch ^ "." ^ commit ^ " (" ^ sha_1 ^ ")")
 let maintainer = "erwan.jahier@univ-grenoble-alpes.fr"
diff --git a/src/main.ml b/src/main.ml
index 5f499bfa8bb12a8cd9418aad3d6550a40dc177db..e40244ae69e75f5814169903ccb0d131e358d2ec 100644
--- a/src/main.ml
+++ b/src/main.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 22/09/2017 (at 10:09) by Erwan Jahier> *)
+(* Time-stamp: <modified the 22/02/2018 (at 15:50) by Erwan Jahier> *)
 
 open Lv6Verbose
 open AstV6
@@ -89,7 +89,7 @@ let (gen_autotest_files : LicPrg.t -> Lv6Id.idref option -> Lv6MainArgs.t -> uni
           let main_node = Lv6Id.to_idref name in
           let nk = (Lic.node_key_of_idref main_node) in
           if LicPrg.node_exists lic_prg nk then (
-            output_string stdout ("WARNING: No main node is specified. I'll try with "
+            output_string stdout ("WARNING: No main node is specified: will use "
                                   ^ name ^"\n");
             flush stdout;
             let msk, zesoc = Lic2soc.f lic_prg nk in
@@ -278,7 +278,7 @@ let main () = (
           let name = find_a_node opt in
           let nk = (Lic.node_key_of_idref (Lv6Id.to_idref name)) in
           if LicPrg.node_exists lic_prg nk then (
-            print_string ("WARNING: No main node is specified. I'll try with "^name^"\n");
+            print_string ("WARNING: No main node is specified: will use "^name^"\n");
             flush stdout;
             profile_info "Start compiling to soc...\n";
             let msk,zesoc  = Lic2soc.f lic_prg nk in
@@ -352,7 +352,7 @@ let main () = (
   (* exit 1 *)
   (* ) *)
 
-  close_out opt.oc
+  if opt.outfile <> "" then close_out opt.oc
     
 );;
 main();
diff --git a/src/soc2c.ml b/src/soc2c.ml
index 33bc891f967d130451b22fe0c5ebe4e3a2959495..adfecb88451a8956d4ff6b302d0ce43306a2d5fc 100644
--- a/src/soc2c.ml
+++ b/src/soc2c.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 10/07/2017 (at 13:12) by Erwan Jahier> *)
+(* Time-stamp: <modified the 22/02/2018 (at 15:48) by Erwan Jahier> *)
 
 
 (* let put (os: out_channel) (fmt:('a, unit, string, unit) format4) : 'a = *)
@@ -971,7 +971,10 @@ typedef float _float;
     Printf.printf "%s has been generated.\n" hfile;
     Printf.printf "%s has been generated.\n" cfile;
     flush stdout;
-    let node = args.Lv6MainArgs.main_node in
+    let node =
+      if args.Lv6MainArgs.main_node <> "" then args.Lv6MainArgs.main_node else
+        Filename.basename (Filename.chop_extension (List.hd args.Lv6MainArgs.infiles))
+    in
     let execfile = if args.Lv6MainArgs.outfile = "" then (node^".exec")
       else args.Lv6MainArgs.outfile 
     in