diff --git a/_oasis b/_oasis
index 44ae59d25183e77ad5e38fb82276606bcc94946c..a1e66feb21e11ac426cc43aeab6e775be7954863 100644
--- a/_oasis
+++ b/_oasis
@@ -1,6 +1,6 @@
 OASISFormat: 0.4
 Name:        lutils
-Version:     1.14
+Version:     1.15
 Authors:     Erwan Jahier
 Maintainers: erwan.jahier@imag.fr
 License:     GPL-3
diff --git a/doc/version.tex b/doc/version.tex
index 76b4ce5f931e18743209d0a66ae2644eca7ec9fb..d41f5e8bae55a4d7bc111452e6e3f9166858abe9 100644
--- a/doc/version.tex
+++ b/doc/version.tex
@@ -1,4 +1,4 @@
-\newcommand{\version}{1.14}
-\newcommand{\sha}{e9db055}
+\newcommand{\version}{1.15}
+\newcommand{\sha}{52d447c}
 \newcommand{\versionname}{none}
-\newcommand{\versiondate}{22-06-17}
+\newcommand{\versiondate}{04-10-17}
diff --git a/src/META b/src/META
index 5e2f56d4e2e888ad2ab63aa1cd3be8109b6a8d37..7176856bba82a34b6101b9f09d40f93b6d59b503 100644
--- a/src/META
+++ b/src/META
@@ -1,6 +1,6 @@
 # OASIS_START
-# DO NOT EDIT (digest: bd2a3dd8b4c274b4d60cc3825abe018b)
-version = "1.14"
+# DO NOT EDIT (digest: e0feb154a7aab6533276454ea556bfc0)
+version = "1.15"
 description = "shared by Verimag/synchronous tools (lustre, lutin, rdbg)."
 requires = "unix str camlp4 num"
 archive(byte) = "lutils.cma"
diff --git a/src/lutilsVersion.ml b/src/lutilsVersion.ml
index 0c749de90a6db2f9fbb55518a482aad29344655a..925da96618d2ae471e9a5952875e8ca5af3133ad 100644
--- a/src/lutilsVersion.ml
+++ b/src/lutilsVersion.ml
@@ -1,2 +1,2 @@
-let str="1.14"
-let sha="e9db055"
+let str="1.15"
+let sha="52d447c"
diff --git a/src/rifIO.ml b/src/rifIO.ml
index 1eca4b6932291abb3cbcc764aca9b157b299a519..b6669a769273dd0495e01a6948450a9c912a782a 100644
--- a/src/rifIO.ml
+++ b/src/rifIO.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 23/03/2017 (at 16:00) by Erwan Jahier> *)
+(* Time-stamp: <modified the 22/09/2017 (at 10:12) by Erwan Jahier> *)
 (*-----------------------------------------------------------------------
 ** This file may only be copied under the terms of the GNU Library General
 ** Public License
@@ -179,16 +179,18 @@ and (parse_rif_stream :
 		      parse_rif_stream label ic oc 
               vntl (get_stream debug label ic oc) tbl pragma
 	       )
+	     | (LocalGenlex.Kwd ("ERROR"|"Error"|"error"))::_ -> 
+          print_string ("#ERROR value read. bye! ("^str^")\n"); 
+          flush stdout;
+          raise Bye
  	     | (LocalGenlex.Kwd ("#"))::(LocalGenlex.Kwd ("ERROR"|"Error"|"end"))::_ -> 
-          print_string (str^"\n"); raise Bye 
+          print_string ("#ERROR value read. bye! ("^str^")\n"); 
+          flush stdout;
+          raise Bye 
 	     | (LocalGenlex.Kwd ("#"))::_ ->
           Stream.junk stream ;
           (* prerr_endline (">>>" ^str);  print the ignored string on stderr *)
           parse_rif_stream label ic oc vntl (get_stream debug label ic oc)  tbl pragma 
-	     | (LocalGenlex.Kwd ("ERROR"|"Error"|"error"))::_ -> 
-          print_string ("#ERROR value read. bye! ("^str^")\n"); 
-          flush stdout;
-          raise Bye
 	     | (LocalGenlex.Kwd ("q"))::_ -> print_string "# bye!\n"; raise Bye
 	     | (LocalGenlex.Kwd ("#@"))::_ ->
           (* Beginning of multi-line comment. Note that here,
@@ -360,10 +362,10 @@ let (write_outputs : out_channel -> (float -> string) -> vntl -> subst list -> u
           acc^ (try Data.val_to_string s2f (List.assoc vn sl) 
             with 
               | Not_found -> 
-                print_string ("*** " ^ vn ^ " not found in ");
-                print_string (String.concat "," (List.map (fun (n,_) -> n) sl));
-                flush stdout;
-                assert false
+                Printf.eprintf ("\n*** RifIO: %s not found in %s \n") vn
+                              (String.concat "," (List.map (fun (n,_) -> n) sl));
+                flush stderr;
+                "nil"
           ) ^ " "
         )
         ""