diff --git a/redfish-core/lib/chassis.hpp b/redfish-core/lib/chassis.hpp
index 723cc1e..f250c2f 100644
--- a/redfish-core/lib/chassis.hpp
+++ b/redfish-core/lib/chassis.hpp
@@ -205,7 +205,7 @@
 inline void getChassisContainedBy(
     const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
     const std::string& chassisId, const boost::system::error_code& ec,
-    const dbus::utility::MapperEndPoints& upstreamChassisPaths)
+    const dbus::utility::MapperGetSubTreePathsResponse& upstreamChassisPaths)
 {
     if (ec)
     {
@@ -244,7 +244,7 @@
 inline void getChassisContains(
     const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
     const std::string& chassisId, const boost::system::error_code& ec,
-    const dbus::utility::MapperEndPoints& downstreamChassisPaths)
+    const dbus::utility::MapperGetSubTreePathsResponse& downstreamChassisPaths)
 {
     if (ec)
     {
@@ -290,13 +290,20 @@
 {
     BMCWEB_LOG_DEBUG("Get chassis connectivity");
 
-    dbus::utility::getAssociationEndPoints(
+    constexpr std::array<std::string_view, 2> interfaces{
+        "xyz.openbmc_project.Inventory.Item.Board",
+        "xyz.openbmc_project.Inventory.Item.Chassis"};
+
+    dbus::utility::getAssociatedSubTreePaths(
         chassisPath + "/contained_by",
+        sdbusplus::message::object_path("/xyz/openbmc_project/inventory"), 0,
+        interfaces,
         std::bind_front(getChassisContainedBy, asyncResp, chassisId));
 
-    dbus::utility::getAssociationEndPoints(
+    dbus::utility::getAssociatedSubTreePaths(
         chassisPath + "/containing",
-        std::bind_front(getChassisContains, asyncResp, chassisId));
+        sdbusplus::message::object_path("/xyz/openbmc_project/inventory"), 0,
+        interfaces, std::bind_front(getChassisContains, asyncResp, chassisId));
 }
 
 /**
