diff --git a/ampel-firmware/co2_sensor.cpp b/ampel-firmware/co2_sensor.cpp
index 50930c6c93912b14c8043a72d69b524089b7ee4b..e2805bbaab4660bef7e162cac16692d3b96dc6f8 100644
--- a/ampel-firmware/co2_sensor.cpp
+++ b/ampel-firmware/co2_sensor.cpp
@@ -174,12 +174,6 @@ namespace sensor {
   }
 
   void displayCO2OnLedRing() {
-    if (co2 < 250) {
-      // Sensor should be calibrated.
-      led_effects::showWaitingLED(color::magenta);
-      switchState(NEEDSCALIBRATION);
-      return;
-    }
     /**
      * Display data, even if it's "old" (with breathing).
      * A short delay is required in order to let background tasks run on the ESP8266.
@@ -236,6 +230,13 @@ namespace sensor {
       return false;
     }
 
+    if (co2 < 250) {
+      // Sensor should be calibrated.
+      led_effects::showWaitingLED(color::magenta);
+      switchState(NEEDSCALIBRATION);
+      return false;
+    }
+
     displayCO2OnLedRing();
     return freshData;
   }