diff --git a/corsika/detail/output/OutputManager.inl b/corsika/detail/output/OutputManager.inl
index cb4463351fe3f1c6013268bab1f81387434aabfe..28edfece0c820e6b241ca746cb8f84b641d4cd7b 100644
--- a/corsika/detail/output/OutputManager.inl
+++ b/corsika/detail/output/OutputManager.inl
@@ -133,13 +133,16 @@ namespace corsika {
 
     auto end_time{std::chrono::system_clock::now()};
 
-    // now let's construct an estimate of the runtime
-    auto runtime{end_time - start_time};
+    // calculate the number of days
+    auto const start_t = std::chrono::system_clock::to_time_t(start_time);
+    auto const end_t = std::chrono::system_clock::to_time_t(end_time);
+    int const durationDays = std::difftime(end_t, start_t) / (60 * 60 * 24);
 
     // add the time and duration info
     summary["start time"] = timeToString(start_time);
     summary["end time"] = timeToString(end_time);
-    summary["runtime"] = fmt::format("{:%H:%M:%S}", runtime);
+    summary["runtime"] = (durationDays ? fmt::format("+{}d ", durationDays) : "") +
+                         fmt::format("{:%H:%M:%S}", end_time - start_time);
 
     return summary;
   }