diff --git a/monitor/fan.cpp b/monitor/fan.cpp
index 342b07b..b3cc2a0 100644
--- a/monitor/fan.cpp
+++ b/monitor/fan.cpp
@@ -64,10 +64,6 @@
     _fanMissingErrorDelay(std::get<fanMissingErrDelayField>(def)),
     _setFuncOnPresent(std::get<funcOnPresentField>(def))
 {
-    // Start from a known state of functional (even if
-    // _numSensorFailsForNonFunc is 0)
-    updateInventory(true);
-
     // Setup tach sensors for monitoring
     auto& sensors = std::get<sensorListField>(def);
     for (auto& s : sensors)
@@ -84,6 +80,12 @@
         _trustManager->registerSensor(_sensors.back());
     }
 
+    bool functionalState =
+        (_numSensorFailsForNonFunc == 0) ||
+        (countNonFunctionalSensors() < _numSensorFailsForNonFunc);
+
+    updateInventory(functionalState);
+
 #ifndef MONITOR_USE_JSON
     // Check current tach state when entering monitor mode
     if (mode != Mode::init)
@@ -337,7 +339,7 @@
     return target;
 }
 
-size_t Fan::countNonFunctionalSensors()
+size_t Fan::countNonFunctionalSensors() const
 {
     return std::count_if(_sensors.begin(), _sensors.end(),
                          [](const auto& s) { return !s->functional(); });
