diff --git a/src/cats/temporal/years.c b/src/cats/temporal/years.c
index 86e9786526220e8b75bb54980ffbfef0d1ca6e30..198d7ceafc376533c69c3f9be45aae2d8a91ecba 100644
--- a/src/cats/temporal/years.c
+++ b/src/cats/temporal/years.c
@@ -118,7 +118,7 @@ bool is_output_year(const struct simulation_time *time)
 {
         if (time->phase == PHASE_BURN_IN) return false;
         if (time->output_interval <= 0) return false;
-        if (time->year_current % time->output_interval == 0
+        if ((time->year_current - time->year_start) % time->output_interval == 0
             && (time->phase == PHASE_SIMULATION || time->phase == PHASE_WARM_UP)) {
                 return true;
         }