diff --git a/redfish-core/lib/metric_report_definition.hpp b/redfish-core/lib/metric_report_definition.hpp
index a0c4f1d..e0bbd9b 100644
--- a/redfish-core/lib/metric_report_definition.hpp
+++ b/redfish-core/lib/metric_report_definition.hpp
@@ -391,7 +391,7 @@
                 for (const auto& [chassis, sensorType] : chassisSensors)
                 {
                     retrieveUriToDbusMap(
-                        chassis, sensorType,
+                        asyncResp, chassis, sensorType,
                         [asyncResp, addReportReq](
                             const boost::beast::http::status status,
                             const boost::container::flat_map<
diff --git a/redfish-core/lib/sensors.hpp b/redfish-core/lib/sensors.hpp
index f9d806b..d371378 100644
--- a/redfish-core/lib/sensors.hpp
+++ b/redfish-core/lib/sensors.hpp
@@ -2960,9 +2960,10 @@
  * @param node  Node (group) of sensors. See sensors::node for supported values
  * @param mapComplete   Callback to be called with retrieval result
  */
-inline void retrieveUriToDbusMap(const std::string& chassis,
-                                 const std::string& node,
-                                 SensorsAsyncResp::DataCompleteCb&& mapComplete)
+inline void
+    retrieveUriToDbusMap(const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+                         const std::string& chassis, const std::string& node,
+                         SensorsAsyncResp::DataCompleteCb&& mapComplete)
 {
     auto pathIt = sensors::dbus::paths.find(node);
     if (pathIt == sensors::dbus::paths.end())
@@ -2972,10 +2973,8 @@
         return;
     }
 
-    auto res = std::make_shared<crow::Response>();
-    auto asyncResp = std::make_shared<bmcweb::AsyncResp>(*res);
     auto callback =
-        [res, asyncResp, mapCompleteCb{std::move(mapComplete)}](
+        [asyncResp, mapCompleteCb{std::move(mapComplete)}](
             const boost::beast::http::status status,
             const boost::container::flat_map<std::string, std::string>&
                 uriToDbus) { mapCompleteCb(status, uriToDbus); };
