diff --git a/example/calculator-server.cpp b/example/calculator-server.cpp
index 9e02ba0..aa60662 100644
--- a/example/calculator-server.cpp
+++ b/example/calculator-server.cpp
@@ -56,7 +56,7 @@
 
     static_assert(
         std::string_view(
-            sdbusplus::client::net::poettering::Calculator::interface) ==
+            sdbusplus::common::net::poettering::Calculator::interface) ==
         std::string_view(Calculator::interface));
 
     // Create a new bus and affix an object manager for the subtree path we
diff --git a/tools/sdbusplus/templates/interface.client.hpp.mako b/tools/sdbusplus/templates/interface.client.hpp.mako
index d7cc84e..7c3c6e8 100644
--- a/tools/sdbusplus/templates/interface.client.hpp.mako
+++ b/tools/sdbusplus/templates/interface.client.hpp.mako
@@ -1,17 +1,18 @@
 #pragma once
 
-namespace sdbusplus::client::${interface.cppNamespacedClass()}
-{
-
-static constexpr auto interface = "${interface.name}";
-
-} // namespace sdbusplus::client::${interface.cppNamespacedClass()}
+#include <${interface.headerFile("common")}>
 
 #ifndef SDBUSPP_REMOVE_DEPRECATED_NAMESPACE
 namespace sdbusplus::${interface.old_cppNamespacedClass("client")}
 {
 
-using sdbusplus::client::${interface.cppNamespacedClass()}::interface;
+constexpr auto interface =
+    sdbusplus::common::${interface.cppNamespacedClass()}::interface;
 
 } // namespace sdbusplus::${interface.old_cppNamespacedClass("client")}
 #endif
+
+namespace sdbusplus::client::${interface.cppNamespacedClass()}
+{
+
+} // namespace sdbusplus::client::${interface.cppNamespacedClass()}
diff --git a/tools/sdbusplus/templates/interface.server.hpp.mako b/tools/sdbusplus/templates/interface.server.hpp.mako
index 7b9d660..ca20b2c 100644
--- a/tools/sdbusplus/templates/interface.server.hpp.mako
+++ b/tools/sdbusplus/templates/interface.server.hpp.mako
@@ -8,9 +8,11 @@
 #include <string>
 #include <systemd/sd-bus.h>
 #include <tuple>
+
 % for m in interface.methods + interface.properties + interface.signals:
-${ m.cpp_prototype(loader, interface=interface, ptype='callback-hpp-includes') }\
+${ m.cpp_prototype(loader, interface=interface, ptype='callback-hpp-includes') }
 % endfor
+#include <${interface.headerFile("common")}> \
 <%
     def setOfPropertyTypes():
         return set(p.cppTypeParam(interface.name) for p in
@@ -20,12 +22,10 @@
 namespace sdbusplus::server::${interface.cppNamespace()}
 {
 
-class ${interface.classname}
+class ${interface.classname} :
+    public sdbusplus::common::${interface.cppNamespacedClass()}
 {
     public:
-        static constexpr auto interface =
-                "${interface.name}";
-
         /* Define all of the basic class operations:
          *     Not allowed:
          *         - Default constructor to avoid nullptrs.
