diff --git a/tools/sdbusplus/error.py b/tools/sdbusplus/error.py
index 5243cda..3f8e476 100644
--- a/tools/sdbusplus/error.py
+++ b/tools/sdbusplus/error.py
@@ -24,10 +24,10 @@
         super(Error, self).__init__(**kwargs)
 
     def markdown(self, loader):
-        return self.render(loader, "error.mako.md", error=self)
+        return self.render(loader, "error.md.mako", error=self)
 
     def exception_header(self, loader):
-        return self.render(loader, "error.mako.hpp", error=self)
+        return self.render(loader, "error.hpp.mako", error=self)
 
     def exception_cpp(self, loader):
-        return self.render(loader, "error.mako.cpp", error=self)
+        return self.render(loader, "error.cpp.mako", error=self)
diff --git a/tools/sdbusplus/interface.py b/tools/sdbusplus/interface.py
index e6251b3..ddc5085 100644
--- a/tools/sdbusplus/interface.py
+++ b/tools/sdbusplus/interface.py
@@ -53,13 +53,13 @@
         return includes
 
     def markdown(self, loader):
-        return self.render(loader, "interface.mako.md", interface=self)
+        return self.render(loader, "interface.md.mako", interface=self)
 
     def server_header(self, loader):
-        return self.render(loader, "interface.mako.server.hpp", interface=self)
+        return self.render(loader, "interface.server.hpp.mako", interface=self)
 
     def server_cpp(self, loader):
-        return self.render(loader, "interface.mako.server.cpp", interface=self)
+        return self.render(loader, "interface.server.cpp.mako", interface=self)
 
     def client_header(self, loader):
-        return self.render(loader, "interface.mako.client.hpp", interface=self)
+        return self.render(loader, "interface.client.hpp.mako", interface=self)
diff --git a/tools/sdbusplus/method.py b/tools/sdbusplus/method.py
index 49a382b..8fa09b3 100644
--- a/tools/sdbusplus/method.py
+++ b/tools/sdbusplus/method.py
@@ -14,8 +14,8 @@
         super(Method, self).__init__(**kwargs)
 
     def markdown(self, loader):
-        return self.render(loader, "method.mako.md", method=self)
+        return self.render(loader, "method.md.mako", method=self)
 
     def cpp_prototype(self, loader, interface, ptype):
-        return self.render(loader, "method.mako.prototype.hpp", method=self,
+        return self.render(loader, "method.prototype.hpp.mako", method=self,
                            interface=interface, ptype=ptype, post=str.rstrip)
diff --git a/tools/sdbusplus/property.py b/tools/sdbusplus/property.py
index 6dceca1..b7808d3 100644
--- a/tools/sdbusplus/property.py
+++ b/tools/sdbusplus/property.py
@@ -183,9 +183,9 @@
         return result
 
     def markdown(self, loader):
-        return self.render(loader, "property.mako.md", property=self,
+        return self.render(loader, "property.md.mako", property=self,
                            post=str.strip)
 
     def cpp_prototype(self, loader, interface, ptype):
-        return self.render(loader, "property.mako.prototype.hpp", property=self,
+        return self.render(loader, "property.prototype.hpp.mako", property=self,
                            interface=interface, ptype=ptype, post=str.rstrip)
diff --git a/tools/sdbusplus/signal.py b/tools/sdbusplus/signal.py
index cd843d9..066bde9 100644
--- a/tools/sdbusplus/signal.py
+++ b/tools/sdbusplus/signal.py
@@ -11,8 +11,8 @@
         super(Signal, self).__init__(**kwargs)
 
     def markdown(self, loader):
-        return self.render(loader, "signal.mako.md", signal=self)
+        return self.render(loader, "signal.md.mako", signal=self)
 
     def cpp_prototype(self, loader, interface, ptype):
-        return self.render(loader, "signal.mako.prototype.hpp", signal=self,
+        return self.render(loader, "signal.prototype.hpp.mako", signal=self,
                            interface=interface, ptype=ptype, post=str.rstrip)
diff --git a/tools/sdbusplus/templates/error.mako.cpp b/tools/sdbusplus/templates/error.cpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/error.mako.cpp
rename to tools/sdbusplus/templates/error.cpp.mako
diff --git a/tools/sdbusplus/templates/error.mako.hpp b/tools/sdbusplus/templates/error.hpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/error.mako.hpp
rename to tools/sdbusplus/templates/error.hpp.mako
diff --git a/tools/sdbusplus/templates/error.mako.md b/tools/sdbusplus/templates/error.md.mako
similarity index 100%
rename from tools/sdbusplus/templates/error.mako.md
rename to tools/sdbusplus/templates/error.md.mako
diff --git a/tools/sdbusplus/templates/interface.mako.client.hpp b/tools/sdbusplus/templates/interface.client.hpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/interface.mako.client.hpp
rename to tools/sdbusplus/templates/interface.client.hpp.mako
diff --git a/tools/sdbusplus/templates/interface.mako.md b/tools/sdbusplus/templates/interface.md.mako
similarity index 100%
rename from tools/sdbusplus/templates/interface.mako.md
rename to tools/sdbusplus/templates/interface.md.mako
diff --git a/tools/sdbusplus/templates/interface.mako.server.cpp b/tools/sdbusplus/templates/interface.server.cpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/interface.mako.server.cpp
rename to tools/sdbusplus/templates/interface.server.cpp.mako
diff --git a/tools/sdbusplus/templates/interface.mako.server.hpp b/tools/sdbusplus/templates/interface.server.hpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/interface.mako.server.hpp
rename to tools/sdbusplus/templates/interface.server.hpp.mako
diff --git a/tools/sdbusplus/templates/method.mako.md b/tools/sdbusplus/templates/method.md.mako
similarity index 100%
rename from tools/sdbusplus/templates/method.mako.md
rename to tools/sdbusplus/templates/method.md.mako
diff --git a/tools/sdbusplus/templates/method.mako.prototype.hpp b/tools/sdbusplus/templates/method.prototype.hpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/method.mako.prototype.hpp
rename to tools/sdbusplus/templates/method.prototype.hpp.mako
diff --git a/tools/sdbusplus/templates/property.mako.md b/tools/sdbusplus/templates/property.md.mako
similarity index 100%
rename from tools/sdbusplus/templates/property.mako.md
rename to tools/sdbusplus/templates/property.md.mako
diff --git a/tools/sdbusplus/templates/property.mako.prototype.hpp b/tools/sdbusplus/templates/property.prototype.hpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/property.mako.prototype.hpp
rename to tools/sdbusplus/templates/property.prototype.hpp.mako
diff --git a/tools/sdbusplus/templates/signal.mako.md b/tools/sdbusplus/templates/signal.md.mako
similarity index 100%
rename from tools/sdbusplus/templates/signal.mako.md
rename to tools/sdbusplus/templates/signal.md.mako
diff --git a/tools/sdbusplus/templates/signal.mako.prototype.hpp b/tools/sdbusplus/templates/signal.prototype.hpp.mako
similarity index 100%
rename from tools/sdbusplus/templates/signal.mako.prototype.hpp
rename to tools/sdbusplus/templates/signal.prototype.hpp.mako
