diff --git a/manager.cpp b/manager.cpp
index 6d6c659..f9de91d 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -136,7 +136,9 @@
 
     for (const auto& p : properties)
     {
-        onPropertyChanged(p.first, p.second.get<std::string>());
+        onPropertyChanged(
+            p.first,
+            sdbusplus::message::variant_ns::get<std::string>(p.second));
     }
 
     return 0;
@@ -213,8 +215,8 @@
     {
         if (p.first == HOST_CURRENT_STATE)
         {
-            auto state =
-                Host::convertHostStateFromString(p.second.get<std::string>());
+            auto state = Host::convertHostStateFromString(
+                sdbusplus::message::variant_ns::get<std::string>(p.second));
             onHostState(state == Host::HostState::Running);
             break;
         }
diff --git a/utils.hpp b/utils.hpp
index efcd50c..08b10e8 100644
--- a/utils.hpp
+++ b/utils.hpp
@@ -70,7 +70,7 @@
         sdbusplus::message::variant<T> value{};
         auto reply = bus.call(method);
         reply.read(value);
-        return value.template get<T>();
+        return sdbusplus::message::variant_ns::get<T>(value);
     }
     catch (const sdbusplus::exception::SdBusError& ex)
     {
