diff --git a/src/PwmSensor.cpp b/src/PwmSensor.cpp
index 7b03e68..c1f0674 100644
--- a/src/PwmSensor.cpp
+++ b/src/PwmSensor.cpp
@@ -31,7 +31,7 @@
                      std::shared_ptr<sdbusplus::asio::connection>& conn,
                      sdbusplus::asio::object_server& objectServer,
                      const std::string& sensorConfiguration,
-                     const std::string& sensorType) :
+                     const std::string& sensorType, bool isValueMutable) :
     sysPath(sysPath),
     objectServer(objectServer), name(name)
 {
@@ -146,9 +146,25 @@
             }
             return curVal;
         });
+
     sensorInterface->initialize();
     controlInterface->initialize();
 
+    if (isValueMutable)
+    {
+        valueMutabilityInterface =
+            std::make_shared<sdbusplus::asio::dbus_interface>(
+                conn, sensorInterface->get_object_path(),
+                valueMutabilityInterfaceName);
+        valueMutabilityInterface->register_property("Mutable", true);
+        if (!valueMutabilityInterface->initialize())
+        {
+            std::cerr
+                << "error initializing sensor value mutability interface\n";
+            valueMutabilityInterface = nullptr;
+        }
+    }
+
     association = objectServer.add_interface(
         "/xyz/openbmc_project/sensors/fan_pwm/" + name, association::interface);
 
