diff --git a/src/sasaMain.ml b/src/sasaMain.ml
index fd589557c932041b24e9d0ac3b80ff912ec96d3c..75d56a4d43cf087003ced512a742ab5d085bb769 100644
--- a/src/sasaMain.ml
+++ b/src/sasaMain.ml
@@ -228,7 +228,19 @@ let () =
               (Printexc.to_string error);
             (-1)
         in
-        res
+        if res = n then (
+          Printf.printf  " (%s)\n%!" (StringOf.env_rif s.config st.network);
+          Printf.fprintf newdot "%s\n" (SimuState.to_dot s);
+          Printf.printf "%s and %s have been generated\n" (s.sasarg.topo ^ ".log") newdot_fn;
+          flush_all();
+          close_out newdot;
+          close_out log;
+          failwith(Printf.sprintf
+              "Maximum simulation length reached. Something went wrong or %d is not long enough (use sasa -l to try longer simulation" n
+                  )
+        )
+        else
+          res
       in
       let st = (WorstInit.fchc log run st maxt) in
       Printf.printf  " (%s)\n%!" (StringOf.env_rif st.config st.network);