diff --git a/src/main.cpp b/src/main.cpp
index 0ba614d..5f75432 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -141,8 +141,7 @@
                 std::cerr << "Error getting associations from " << path << "\n";
             }
             std::vector<Association> associations =
-                sdbusplus::message::variant_ns::get<std::vector<Association>>(
-                    variantAssociations);
+                std::get<std::vector<Association>>(variantAssociations);
             associationChanged(objectServer, associations, path, processName,
                                interfaceMap, associationMaps);
         },
@@ -613,8 +612,7 @@
             if (prop != values.end())
             {
                 std::vector<Association> associations =
-                    sdbusplus::message::variant_ns::get<
-                        std::vector<Association>>(prop->second);
+                    std::get<std::vector<Association>>(prop->second);
 
                 std::string well_known;
                 if (!getWellKnown(name_owners, message.get_sender(),
diff --git a/src/processing.cpp b/src/processing.cpp
index f3f59a9..b0c73b3 100644
--- a/src/processing.cpp
+++ b/src/processing.cpp
@@ -127,8 +127,7 @@
                 continue;
             }
             std::vector<Association> associations =
-                sdbusplus::message::variant_ns::get<std::vector<Association>>(
-                    *variantAssociations);
+                std::get<std::vector<Association>>(*variantAssociations);
             associationChanged(server, associations, objPath.str, wellKnown,
                                interfaceMap, assocMaps);
         }
