diff --git a/include/sdbusplus/utility/dedup_variant.hpp b/include/sdbusplus/utility/dedup_variant.hpp
index e3352d7..bfffd20 100644
--- a/include/sdbusplus/utility/dedup_variant.hpp
+++ b/include/sdbusplus/utility/dedup_variant.hpp
@@ -57,8 +57,14 @@
  *  to `std::variant<uint32_t>` on architectures where there is a collision.
  */
 template <typename T, typename... Types>
-using dedup_variant =
+using dedup_variant_t =
     typename details::dedup_variant<std::variant<T>, Types...>::type;
 
+// Keep temporarily for backwards compatibility.
+//  openbmc/bmcweb
+//  openbmc/smbios-mdr
+template <typename T, typename... Types>
+using dedup_variant = dedup_variant_t<T, Types...>;
+
 } // namespace utility
 } // namespace sdbusplus
diff --git a/test/utility/type_traits.cpp b/test/utility/type_traits.cpp
index e1e9473..81fa076 100644
--- a/test/utility/type_traits.cpp
+++ b/test/utility/type_traits.cpp
@@ -85,11 +85,12 @@
 
 // Tests for dedup_variant.
 static_assert(std::is_same_v<std::variant<size_t>,
-                             sdbusplus::utility::dedup_variant<size_t>>);
-static_assert(std::is_same_v<std::variant<char, size_t>,
-                             sdbusplus::utility::dedup_variant<char, size_t>>);
+                             sdbusplus::utility::dedup_variant_t<size_t>>);
+static_assert(
+    std::is_same_v<std::variant<char, size_t>,
+                   sdbusplus::utility::dedup_variant_t<char, size_t>>);
 static_assert(std::is_same_v<
               std::variant<uint32_t, uint64_t>,
-              sdbusplus::utility::dedup_variant<uint32_t, uint64_t, size_t>>);
+              sdbusplus::utility::dedup_variant_t<uint32_t, uint64_t, size_t>>);
 
 } // namespace
diff --git a/tools/sdbusplus/templates/interface.server.hpp.mako b/tools/sdbusplus/templates/interface.server.hpp.mako
index ba7d398..0fc1849 100644
--- a/tools/sdbusplus/templates/interface.server.hpp.mako
+++ b/tools/sdbusplus/templates/interface.server.hpp.mako
@@ -66,7 +66,7 @@
     % endfor
 
     % if interface.properties:
-        using PropertiesVariant = sdbusplus::utility::dedup_variant<
+        using PropertiesVariant = sdbusplus::utility::dedup_variant_t<
                 ${",\n                ".join(sorted(setOfPropertyTypes()))}>;
 
         /** @brief Constructor to initialize the object from a map of
