diff --git a/dbus-sdr/sensorcommands.cpp b/dbus-sdr/sensorcommands.cpp
index 5a78ddb..5477d34 100644
--- a/dbus-sdr/sensorcommands.cpp
+++ b/dbus-sdr/sensorcommands.cpp
@@ -2417,7 +2417,8 @@
                                     // IDs
               >
     getSensorInfo(ipmi::Context::ptr ctx, uint8_t sensorType, uint8_t entityId,
-                  uint8_t entityInstance, uint8_t instanceStart)
+                  uint8_t entityInstance,
+                  [[maybe_unused]] uint8_t instanceStart)
 {
     auto match = ipmi::dcmi::validEntityId.find(entityId);
     if (match == ipmi::dcmi::validEntityId.end())
@@ -2443,6 +2444,7 @@
     std::vector<uint16_t> sensorRec{};
     uint8_t numInstances = 0;
 
+    auto& ipmiDecoratorPaths = getIpmiDecoratorPaths(ctx);
     for (const auto& sensor : sensorTree)
     {
         auto sensorTypeValue = getSensorTypeFromPath(sensor.first);
@@ -2464,9 +2466,10 @@
         }
         uint8_t entityIdValue = 0;
         uint8_t entityInstanceValue = 0;
-
-        updateIpmiFromAssociation(sensor.first, sensorMap, entityIdValue,
-                                  entityInstanceValue);
+        updateIpmiFromAssociation(
+            sensor.first,
+            ipmiDecoratorPaths.value_or(std::unordered_set<std::string>()),
+            sensorMap, entityIdValue, entityInstanceValue);
         if (!entityInstance)
         {
             if (entityIdValue == match->first || entityIdValue == match->second)
diff --git a/meson.build b/meson.build
index c3eed2e..4889b97 100644
--- a/meson.build
+++ b/meson.build
@@ -260,7 +260,7 @@
 # Dynamic Sensor Stack
 subdir('dbus-sdr')
 
-if not get_option('dynamic-sensors').disabled()
+if not get_option('dynamic-sensors').disabled() or not get_option('tests').disabled()
   library(
     'dynamiccmds',
     dbus_sdr_src,
