diff --git a/sensorhandler.cpp b/sensorhandler.cpp
index b5e2f2f..bda7fda 100644
--- a/sensorhandler.cpp
+++ b/sensorhandler.cpp
@@ -602,7 +602,9 @@
     if (count.value_or(0) == getSdrCount)
     {
         // Get SDR count. This returns the total number of SDRs in the device.
-        const auto& entityRecords = ipmi::sensor::getIpmiEntityRecords();
+        const auto& entityRecords =
+            ipmi::sensor::EntityInfoMapContainer::getContainer()
+                ->getIpmiEntityRecords();
         sdrCount =
             ipmi::sensor::sensors.size() + frus.size() + entityRecords.size();
     }
@@ -771,7 +773,9 @@
     {
         // we have reached till end of fru, so assign the next record id to
         // 512(Max fru ID = 511) + Entity Record ID(may start with 0).
-        const auto& entityRecords = ipmi::sensor::getIpmiEntityRecords();
+        const auto& entityRecords =
+            ipmi::sensor::EntityInfoMapContainer::getContainer()
+                ->getIpmiEntityRecords();
         auto next_record_id =
             (entityRecords.size())
                 ? entityRecords.begin()->first + ENTITY_RECORD_ID_START
@@ -810,7 +814,9 @@
     get_sdr::SensorDataEntityRecord record{};
     auto dataLength = 0;
 
-    const auto& entityRecords = ipmi::sensor::getIpmiEntityRecords();
+    const auto& entityRecords =
+        ipmi::sensor::EntityInfoMapContainer::getContainer()
+            ->getIpmiEntityRecords();
     auto entity = entityRecords.begin();
     uint8_t entityRecordID;
     auto recordID = get_sdr::request::get_record_id(req);
