diff --git a/fault-monitor/operational-status-monitor.cpp b/fault-monitor/operational-status-monitor.cpp
index 10299f7..fb0ddad 100644
--- a/fault-monitor/operational-status-monitor.cpp
+++ b/fault-monitor/operational-status-monitor.cpp
@@ -30,7 +30,7 @@
     if (it != properties.end())
     {
         const bool* value = std::get_if<bool>(&it->second);
-        if (!value)
+        if (value == nullptr)
         {
             lg2::error(
                 "Failed to get the Functional property, INVENTORY_PATH = {PATH}",
@@ -56,7 +56,7 @@
 }
 
 std::vector<std::string>
-    Monitor::getLedGroupPaths(const std::string& inventoryPath) const
+    Monitor::getLedGroupPaths(const std::string& inventoryPath)
 {
     // Get endpoints from fType
     std::string faultLedAssociation = inventoryPath + "/fault_identifying";
@@ -68,9 +68,9 @@
 
     try
     {
-        endpoint = dBusHandler.getProperty(faultLedAssociation,
-                                           "xyz.openbmc_project.Association",
-                                           "endpoints");
+        endpoint = phosphor::led::utils::DBusHandler::getProperty(
+            faultLedAssociation, "xyz.openbmc_project.Association",
+            "endpoints");
     }
     catch (const sdbusplus::exception_t& e)
     {
@@ -95,8 +95,9 @@
             // false Call "Group Asserted --> false" if the value of Functional
             // is true
             PropertyValue assertedValue{!value};
-            dBusHandler.setProperty(path, "xyz.openbmc_project.Led.Group",
-                                    "Asserted", assertedValue);
+            phosphor::led::utils::DBusHandler::setProperty(
+                path, "xyz.openbmc_project.Led.Group", "Asserted",
+                assertedValue);
         }
         catch (const sdbusplus::exception_t& e)
         {
