diff --git a/src/database/contexts/worker.c b/src/database/contexts/worker.c
index 97ebc34496..a22e9b1fa3 100644
--- a/src/database/contexts/worker.c
+++ b/src/database/contexts/worker.c
@@ -84,7 +84,7 @@ static void rrdhost_update_cached_retention(RRDHOST *host, time_t first_time_s,
         host->retention.last_time_s = last_time_s;
     }
     else {
-        if(!host->retention.first_time_s || first_time_s < host->retention.first_time_s)
+        if(!host->retention.first_time_s || (first_time_s && first_time_s < host->retention.first_time_s))
             host->retention.first_time_s = first_time_s;
 
         if(!host->retention.last_time_s || last_time_s > host->retention.last_time_s)