diff --git a/monitor/tach_sensor.cpp b/monitor/tach_sensor.cpp
index a272681..8ae8583 100644
--- a/monitor/tach_sensor.cpp
+++ b/monitor/tach_sensor.cpp
@@ -78,8 +78,11 @@
     _timeout(timeout),
     _timer(events, [this, &fan](){ fan.timerExpired(*this); })
 {
-    //Load in starting Target and Input values
+    // Start from a known state of functional
+    _functional = true;
+    updateInventory(_functional);
 
+    // Load in starting Target and Input values
     try
     {
         // Use getProperty directly to allow a missing sensor object
@@ -130,6 +133,11 @@
             _name, interface);
 }
 
+void TachSensor::setFunctional(bool functional)
+{
+    _functional = functional;
+    updateInventory(_functional);
+}
 
 /**
  * @brief Reads a property from the input message and stores it in value.
diff --git a/monitor/tach_sensor.hpp b/monitor/tach_sensor.hpp
index 59b99d2..ba3465a 100644
--- a/monitor/tach_sensor.hpp
+++ b/monitor/tach_sensor.hpp
@@ -94,12 +94,9 @@
         }
 
         /**
-         * Sets functional status
+         * Set the functional status and update inventory to match
          */
-        inline void setFunctional(bool functional)
-        {
-            _functional = functional;
-        }
+        void setFunctional(bool functional);
 
         /**
          * @brief Says if the timer is running or not
@@ -202,7 +199,7 @@
          * @brief If functional (not too slow).  The parent
          *        fan object sets this.
          */
-        bool _functional = true;
+        bool _functional;
 
         /**
          * @brief If the sensor has a Target property (can set speed)
