diff --git a/ampel-firmware/web_server.cpp b/ampel-firmware/web_server.cpp
index 7501263d6abebc3c0849726ecf65eb1cce6f28c9..9cba04f27e880890b72310241ab985f652cc1737 100644
--- a/ampel-firmware/web_server.cpp
+++ b/ampel-firmware/web_server.cpp
@@ -113,7 +113,7 @@ namespace web_server {
             "<tr><td>Free heap space</td><td>%6d bytes</td></tr>\n"
             "<tr><td>Max loop duration</td><td>%5d ms</td></tr>\n"
             "<tr><td>Board</td><td>%s</td></tr>\n"
-            "<tr><td>Uptime</td><td>%4d h %02d min %02d s</td></tr>\n"
+            "<tr><td>Uptime</td><td>%2d d %4d h %02d min %02d s</td></tr>\n"
             "</table>\n"
             "<div id='log' class='pure-u-1 pure-u-md-1-2'></div>\n"
 #ifdef AMPEL_CSV
@@ -198,6 +198,8 @@ namespace web_server {
     }
 
     unsigned long ss = seconds();
+    uint8_t dd = ss / 86400;
+    ss -= dd * 86400;
     unsigned int hh = ss / 3600;
     ss -= hh * 3600;
     uint8_t mm = ss / 60;
@@ -232,7 +234,7 @@ namespace web_server {
         config::lorawan_sending_interval,
 #endif
         config::temperature_offset, SENSOR_ID.c_str(), SENSOR_ID.c_str(), WiFi.localIP().toString().c_str(),
-        WiFi.localIP().toString().c_str(), get_free_heap_size(), max_loop_duration, BOARD, hh, mm, ss);
+        WiFi.localIP().toString().c_str(), get_free_heap_size(), max_loop_duration, BOARD, dd, hh, mm, ss);
 
     http.sendContent(content);