diff --git a/sdbusplus/message.hpp b/sdbusplus/message.hpp
index a989a48..eb2d49d 100644
--- a/sdbusplus/message.hpp
+++ b/sdbusplus/message.hpp
@@ -265,6 +265,24 @@
         return message(reply, std::false_type());
     }
 
+    /** @brief Create a 'method_error' type message from an existing message.
+     *
+     *  @param[in] error - integer error number
+     *  @return method-error message.
+     */
+    message new_method_errno(int error)
+    {
+        msgp_t reply = nullptr;
+        int r = _intf->sd_bus_message_new_method_errno(this->get(), &reply,
+                                                       error, nullptr);
+        if (r < 0)
+        {
+            throw exception::SdBusError(-r, "sd_bus_message_new_method_errno");
+        }
+
+        return message(reply, std::false_type());
+    }
+
     /** @brief Perform a 'method-return' response call. */
     void method_return()
     {
diff --git a/sdbusplus/sdbus.hpp b/sdbusplus/sdbus.hpp
index 74fe86d..46694e6 100644
--- a/sdbusplus/sdbus.hpp
+++ b/sdbusplus/sdbus.hpp
@@ -99,6 +99,10 @@
     virtual int sd_bus_message_new_method_return(sd_bus_message* call,
                                                  sd_bus_message** m) = 0;
 
+    virtual int sd_bus_message_new_method_errno(sd_bus_message* call,
+                                                sd_bus_message** m, int error,
+                                                const sd_bus_error* p) = 0;
+
     virtual int sd_bus_message_new_signal(sd_bus* bus, sd_bus_message** m,
                                           const char* path,
                                           const char* interface,
@@ -356,6 +360,13 @@
         return ::sd_bus_message_new_method_return(call, m);
     }
 
+    int sd_bus_message_new_method_errno(sd_bus_message* call,
+                                        sd_bus_message** m, int error,
+                                        const sd_bus_error* p) override
+    {
+        return ::sd_bus_message_new_method_errno(call, m, error, p);
+    }
+
     int sd_bus_message_new_signal(sd_bus* bus, sd_bus_message** m,
                                   const char* path, const char* interface,
                                   const char* member) override
diff --git a/sdbusplus/test/sdbus_mock.hpp b/sdbusplus/test/sdbus_mock.hpp
index ea96c0f..0079778 100644
--- a/sdbusplus/test/sdbus_mock.hpp
+++ b/sdbusplus/test/sdbus_mock.hpp
@@ -78,6 +78,10 @@
     MOCK_METHOD2(sd_bus_message_new_method_return,
                  int(sd_bus_message*, sd_bus_message**));
 
+    MOCK_METHOD4(sd_bus_message_new_method_errno,
+                 int(sd_bus_message* call, sd_bus_message** m, int error,
+                     const sd_bus_error* p));
+
     MOCK_METHOD5(sd_bus_message_new_signal,
                  int(sd_bus*, sd_bus_message**, const char*, const char*,
                      const char*));
