diff --git a/Cargo.lock b/Cargo.lock
index 89b02a4cb71a06d58fa6597cf7b93e7514ac8c60..7679a35cbf9582871ab3c10de679551ebf5b011a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -359,7 +359,6 @@ dependencies = [
 name = "duniter-tui"
 version = "0.1.0"
 dependencies = [
- "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "duniter-conf 0.1.0",
  "duniter-crypto 0.1.2",
  "duniter-dal 0.1.0",
diff --git a/tui/Cargo.toml b/tui/Cargo.toml
index d415aca56b67ea5b443aae5bb9bfd35e04210bd7..c3fcd4211ebc7963964a49113b379f98c80bed4a 100644
--- a/tui/Cargo.toml
+++ b/tui/Cargo.toml
@@ -9,7 +9,6 @@ license = "AGPL-3.0"
 path = "lib.rs"
 
 [dependencies]
-chrono = "0.4.2"
 duniter-conf = { path = "../conf" }
 duniter-crypto = { path = "../crypto" }
 duniter-dal = { path = "../dal" }
diff --git a/tui/lib.rs b/tui/lib.rs
index 55625209f54634d0efeba11bab539af3b06fbeb3..9f4e96bbe5fd81b3cd64fb54d6a5a1ea54874201 100644
--- a/tui/lib.rs
+++ b/tui/lib.rs
@@ -26,7 +26,6 @@
 #[macro_use]
 extern crate log;
 
-extern crate chrono;
 extern crate duniter_conf;
 extern crate duniter_crypto;
 extern crate duniter_dal;
@@ -37,7 +36,6 @@ extern crate duniter_network;
 extern crate serde_json;
 extern crate termion;
 
-use chrono::prelude::*;
 use duniter_crypto::keys::ed25519;
 use duniter_dal::dal_event::DALEvent;
 use duniter_message::DuniterMessage;
@@ -106,7 +104,7 @@ impl TuiModuleDatas {
     fn draw_term<W: Write>(
         &self,
         stdout: &mut RawTerminal<W>,
-        start_time: &DateTime<Utc>,
+        start_time: SystemTime,
         heads_cache: &HashMap<NodeFullId, NetworkHead>,
         heads_index: usize,
         out_connections_status: &HashMap<NodeFullId, Connection>,
@@ -190,8 +188,13 @@ impl TuiModuleDatas {
             ).unwrap();
         } else {
             let mut count_conns = 0;
-            let conns_index_use = if conns_index > (out_established_conns.len() - 5) {
+            let max_index = if out_established_conns.len() < 5 {
+                0
+            } else {
                 out_established_conns.len() - 5
+            };
+            let conns_index_use = if conns_index > max_index {
+                max_index
             } else {
                 conns_index
             };
@@ -322,11 +325,21 @@ impl TuiModuleDatas {
         }
 
         // Draw footer
-        let runtime_in_secs = Utc::now().timestamp() - (*start_time).timestamp();
-        let runtime_str =
-            DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(runtime_in_secs, 0), Utc)
+        let mut runtime_in_secs = SystemTime::now()
+            .duration_since(start_time)
+            .expect("Fail to get runtime")
+            .as_secs();
+        let runtime_hours = runtime_in_secs / 3600;
+        runtime_in_secs -= runtime_hours * 3600;
+        let runtime_mins = runtime_in_secs / 60;
+        let runtime_secs = runtime_in_secs % 60;
+        let runtime_str = format!(
+            "{:02}:{:02}:{:02}",
+            runtime_hours, runtime_mins, runtime_secs
+        );
+        /*DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(runtime_in_secs, 0), Utc)
                 .format("%H:%M:%S")
-                .to_string();
+                .to_string();*/
         write!(
             stdout,
             "{}{}{}runtime : {}",
@@ -377,7 +390,7 @@ impl DuniterModule<ed25519::PublicKey, ed25519::KeyPair, DuniterMessage> for Tui
         main_sender: mpsc::Sender<RooterThreadMessage<DuniterMessage>>,
         load_conf_only: bool,
     ) -> Result<(), ModuleInitError> {
-        let start_time: DateTime<Utc> = Utc::now();
+        let start_time = SystemTime::now(); //: DateTime<Utc> = Utc::now();
 
         // load conf
         let _conf = TuiModuleDatas::parse_tui_conf(module_conf);
@@ -445,7 +458,7 @@ impl DuniterModule<ed25519::PublicKey, ed25519::KeyPair, DuniterMessage> for Tui
         let mut last_draw = SystemTime::now();
         tui.draw_term(
             &mut stdout,
-            &start_time,
+            start_time,
             &tui.heads_cache,
             tui.heads_index,
             &tui.connections_status,
@@ -520,7 +533,10 @@ impl DuniterModule<ed25519::PublicKey, ed25519::KeyPair, DuniterMessage> for Tui
                                 if let Some(conn) = tui.connections_status.get(node_full_id) {
                                     if *status == 12 && (*conn).status != 12 {
                                         tui.established_conns_count += 1;
-                                    } else if *status != 12 && (*conn).status == 12 {
+                                    } else if *status != 12
+                                        && (*conn).status == 12
+                                        && tui.established_conns_count > 0
+                                    {
                                         tui.established_conns_count -= 1;
                                     }
                                 };
@@ -641,7 +657,7 @@ impl DuniterModule<ed25519::PublicKey, ed25519::KeyPair, DuniterMessage> for Tui
                 last_draw = now;
                 tui.draw_term(
                     &mut stdout,
-                    &start_time,
+                    start_time,
                     &tui.heads_cache,
                     tui.heads_index,
                     &tui.connections_status,