diff --git a/sdbusplus/bus.hpp b/sdbusplus/bus.hpp
index 119ae52..eae7cd2 100644
--- a/sdbusplus/bus.hpp
+++ b/sdbusplus/bus.hpp
@@ -142,30 +142,6 @@
         sd_bus_call(_bus.get(), m.get(), timeout_us, nullptr, nullptr);
     }
 
-    /** @brief Perform a 'method-return' response call.
-     *
-     *  @param[in] m - The method-return type message to send.
-     *
-     *  This is a static method on bus because:
-     *      1. The typical caller of this is from within a method callback
-     *         on an sd-bus managed object, which does not have access to
-     *         its own bus.
-     *      2. Due to header dependency, sdbusplus::message cannot create
-     *         an sdbusplus::bus itself.
-     *      3. We do not want sdbusplus::message to call sd_bus_call directly,
-     *         in order to have common error handling code with bus::call.
-     */
-    static void method_return(message::message& m)
-    {
-        auto b = bus(sd_bus_message_get_bus(m.get()));
-
-        // Need to increment the reference since 'b' will now decrement
-        // on destruction.
-        sd_bus_ref(b._bus.get());
-
-        b.call_noreply(m);
-    }
-
     friend struct server::interface::interface;
     friend struct server::manager::manager;
 
@@ -195,10 +171,6 @@
     return bus(b);
 }
 
-/** Alias sdbusplus::bus::bus::method_return for convenience. */
-inline void method_return(message::message& m) { return bus::method_return(m); }
-
-
 } // namespace bus
 
 } // namespace sdbusplus
diff --git a/sdbusplus/message.hpp b/sdbusplus/message.hpp
index a3a07ed..327fb7e 100644
--- a/sdbusplus/message.hpp
+++ b/sdbusplus/message.hpp
@@ -120,6 +120,13 @@
         return message(reply);
     }
 
+    /** @brief Perform a 'method-return' response call. */
+    void method_return()
+    {
+        auto b = sd_bus_message_get_bus(this->get());
+        sd_bus_send(b, this->get(), nullptr);
+    }
+
     friend struct sdbusplus::bus::bus;
 
     private:
diff --git a/tools/templates/method.mako.prototype.hpp b/tools/templates/method.mako.prototype.hpp
index 29d75c8..5e8f2ac 100644
--- a/tools/templates/method.mako.prototype.hpp
+++ b/tools/templates/method.mako.prototype.hpp
@@ -114,7 +114,7 @@
     reply.append(${returns_as_tuple_index("r")});
     % endif
 
-    sdbusplus::bus::method_return(reply);
+    reply.method_return();
 
     return 0;
 }
