diff --git a/mslverify/util.hpp b/mslverify/util.hpp
index e0d07ca..eefc1cd 100644
--- a/mslverify/util.hpp
+++ b/mslverify/util.hpp
@@ -125,7 +125,7 @@
                    "Get"s, interface, property);
     ::sdbusplus::message::variant<Property> value;
     msg.read(value);
-    return value.template get<Property>();
+    return ::sdbusplus::message::variant_ns::get<Property>(value);
 }
 
 /** @brief Get a property without mapper lookup. */
diff --git a/src/propertywatchimpl.hpp b/src/propertywatchimpl.hpp
index 2a44abc..94d6fd2 100644
--- a/src/propertywatchimpl.hpp
+++ b/src/propertywatchimpl.hpp
@@ -155,7 +155,7 @@
         }
 
         std::get<valueIndex>(std::get<storageIndex>(item->second).get()) =
-            p.second.template get<T>();
+            sdbusplus::message::variant_ns::get<T>(p.second);
 
         // Invoke callback if present.
         this->callback(Context::SIGNAL);
diff --git a/src/resolve_errors.cpp b/src/resolve_errors.cpp
index caa8cf8..81452f6 100644
--- a/src/resolve_errors.cpp
+++ b/src/resolve_errors.cpp
@@ -60,7 +60,8 @@
             busName, path, PROPERTY_IFACE, "Get", ASSOCIATION_IFACE,
             ENDPOINTS_PROPERTY);
 
-        const auto& logEntries = endpoints.get<EndpointList>();
+        const auto& logEntries =
+            sdbusplus::message::variant_ns::get<EndpointList>(endpoints);
 
         // Resolve each log entry
         for (const auto& logEntry : logEntries)
diff --git a/src/snmp_trap.cpp b/src/snmp_trap.cpp
index cc730b7..eb2efd3 100644
--- a/src/snmp_trap.cpp
+++ b/src/snmp_trap.cpp
@@ -33,11 +33,15 @@
         return;
     }
     auto& propMap = it->second;
-    auto errorID = propMap.at("Id").get<uint32_t>();
-    auto timestamp = propMap.at("Timestamp").get<uint64_t>();
-    auto sev = propMap.at("Severity").get<std::string>();
+    auto errorID =
+        sdbusplus::message::variant_ns::get<uint32_t>(propMap.at("Id"));
+    auto timestamp =
+        sdbusplus::message::variant_ns::get<uint64_t>(propMap.at("Timestamp"));
+    auto sev = sdbusplus::message::variant_ns::get<std::string>(
+        propMap.at("Severity"));
     auto isev = static_cast<uint8_t>(Entry::convertLevelFromString(sev));
-    auto message = propMap.at("Message").get<std::string>();
+    auto message =
+        sdbusplus::message::variant_ns::get<std::string>(propMap.at("Message"));
     try
     {
         sendTrap<OBMCErrorNotification>(errorID, timestamp, isev, message);
