diff --git a/src/associations.cpp b/src/associations.cpp
index 880b382..fc2703f 100644
--- a/src/associations.cpp
+++ b/src/associations.cpp
@@ -259,7 +259,7 @@
         }
 
         // Can't create this association if the endpoint isn't on D-Bus.
-        if (interfaceMap.find(objectPath) == interfaceMap.end())
+        if (!interfaceMap.contains(objectPath))
         {
             addPendingAssociation(objectPath, reverse, path, forward, owner,
                                   assocMaps);
@@ -425,7 +425,7 @@
         return;
     }
 
-    if (interfaceMap.find(objectPath) == interfaceMap.end())
+    if (!interfaceMap.contains(objectPath))
     {
         return;
     }
@@ -437,8 +437,7 @@
         const auto& e = std::get<assocPos>(*endpoint);
 
         // Ensure the other side of the association still exists
-        if (interfaceMap.find(std::get<reversePathPos>(e)) ==
-            interfaceMap.end())
+        if (!interfaceMap.contains(std::get<reversePathPos>(e)))
         {
             endpoint++;
             continue;
diff --git a/src/handler.cpp b/src/handler.cpp
index 902ae66..5575f2d 100644
--- a/src/handler.cpp
+++ b/src/handler.cpp
@@ -48,7 +48,7 @@
     {
         reqPath.pop_back();
     }
-    if (!reqPath.empty() && interfaceMap.find(reqPath) == interfaceMap.end())
+    if (!reqPath.empty() && !interfaceMap.contains(reqPath))
     {
         throw sdbusplus::xyz::openbmc_project::Common::Error::
             ResourceNotFound();
