diff --git a/msl_verify.cpp b/msl_verify.cpp
index 7f72cac..dc4238c 100644
--- a/msl_verify.cpp
+++ b/msl_verify.cpp
@@ -15,6 +15,7 @@
 {
 
 namespace fs = std::experimental::filesystem;
+namespace variant_ns = sdbusplus::message::variant_ns;
 using namespace phosphor::logging;
 using AssociationList =
     std::vector<std::tuple<std::string, std::string, std::string>>;
@@ -100,7 +101,7 @@
         return {};
     }
 
-    auto& assocs = associations.get<AssociationList>();
+    auto& assocs = variant_ns::get<AssociationList>(associations);
     if (assocs.empty())
     {
         return {};
@@ -120,7 +121,7 @@
             try
             {
                 response.read(functionalVersion);
-                return (functionalVersion.get<std::string>());
+                return variant_ns::get<std::string>(functionalVersion);
             }
             catch (const sdbusplus::exception::SdBusError& e)
             {
diff --git a/version.cpp b/version.cpp
index aa9ee02..69ab415 100644
--- a/version.cpp
+++ b/version.cpp
@@ -115,7 +115,8 @@
     {
         if (p.first == "CurrentPowerState")
         {
-            chassisState = p.second.get<std::string>();
+            chassisState =
+                sdbusplus::message::variant_ns::get<std::string>(p.second);
         }
     }
     if (chassisState.empty())
