diff --git a/CHANGES.md b/CHANGES.md
index 80a945f6..267d7a4b 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -19,6 +19,8 @@
 
 * Fix client connection pooling
 
+* Fix logger request duration calculation #152
+
 
 ## 0.4.10 (2018-03-20)
 
diff --git a/examples/hello-world/src/main.rs b/examples/hello-world/src/main.rs
index 137be494..2af47894 100644
--- a/examples/hello-world/src/main.rs
+++ b/examples/hello-world/src/main.rs
@@ -11,10 +11,10 @@ fn index(_req: HttpRequest) -> &'static str {
 
 fn main() {
     ::std::env::set_var("RUST_LOG", "actix_web=info");
-    let _ = env_logger::init();
-    let sys = actix::System::new("ws-example");
+    env_logger::init();
+    let sys = actix::System::new("hello-world");
 
-    let _addr = server::new(
+    server::new(
         || App::new()
             // enable logger
             .middleware(middleware::Logger::default())
diff --git a/src/middleware/logger.rs b/src/middleware/logger.rs
index 173abd2f..48a8d3db 100644
--- a/src/middleware/logger.rs
+++ b/src/middleware/logger.rs
@@ -231,18 +231,14 @@ impl FormatText {
             FormatText::ResponseSize => resp.response_size().fmt(fmt),
             FormatText::Pid => unsafe{libc::getpid().fmt(fmt)},
             FormatText::Time => {
-                let response_time = time::now() - entry_time;
-                let response_time = response_time.num_seconds() as f64 +
-                    (response_time.num_nanoseconds().unwrap_or(0) as f64)/1_000_000_000.0;
-
-                fmt.write_fmt(format_args!("{:.6}", response_time))
+                let rt = time::now() - entry_time;
+                let rt = (rt.num_nanoseconds().unwrap_or(0) as f64) / 1_000_000_000.0;
+                fmt.write_fmt(format_args!("{:.6}", rt))
             },
             FormatText::TimeMillis => {
-                let response_time = time::now() - entry_time;
-                let response_time_ms = (response_time.num_seconds() * 1000) as f64 +
-                    (response_time.num_nanoseconds().unwrap_or(0) as f64)/1_000_000.0;
-
-                fmt.write_fmt(format_args!("{:.6}", response_time_ms))
+                let rt = time::now() - entry_time;
+                let rt = (rt.num_nanoseconds().unwrap_or(0) as f64) / 1_000_000.0;
+                fmt.write_fmt(format_args!("{:.6}", rt))
             },
             FormatText::RemoteAddr => {
                 if let Some(remote) = req.connection_info().remote() {