diff --git a/sdbusplus/bus.hpp.in b/sdbusplus/bus.hpp.in
index 473a5ea..7be0b92 100644
--- a/sdbusplus/bus.hpp.in
+++ b/sdbusplus/bus.hpp.in
@@ -247,7 +247,7 @@
                                    &reply);
         if (r < 0)
         {
-            throw exception::SdBusError(error, "sd_bus_call");
+            throw exception::SdBusError(&error, "sd_bus_call");
         }
 
         return message::message(reply, _intf, std::false_type());
@@ -265,7 +265,7 @@
                                    nullptr);
         if (r < 0)
         {
-            throw exception::SdBusError(error, "sd_bus_call noreply");
+            throw exception::SdBusError(&error, "sd_bus_call noreply");
         }
     }
 
diff --git a/sdbusplus/exception.cpp b/sdbusplus/exception.cpp
index f160c22..e8f1104 100644
--- a/sdbusplus/exception.cpp
+++ b/sdbusplus/exception.cpp
@@ -21,12 +21,15 @@
     populateMessage(prefix);
 }
 
-SdBusError::SdBusError(sd_bus_error error, const char* prefix,
+SdBusError::SdBusError(sd_bus_error* error, const char* prefix,
                        SdBusInterface* intf) :
-    std::system_error(intf->sd_bus_error_get_errno(&error),
+    std::system_error(intf->sd_bus_error_get_errno(error),
                       std::generic_category()),
-    error(error), intf(intf)
+    error(*error), intf(intf)
 {
+    // We own the error so remove the caller's reference
+    *error = SD_BUS_ERROR_NULL;
+
     populateMessage(prefix);
 }
 
diff --git a/sdbusplus/exception.hpp b/sdbusplus/exception.hpp
index 73b26a0..6cfc0f4 100644
--- a/sdbusplus/exception.hpp
+++ b/sdbusplus/exception.hpp
@@ -35,7 +35,7 @@
     SdBusError(int error, const char* prefix,
                SdBusInterface* intf = &sdbus_impl);
     /** Becomes the owner of the error */
-    SdBusError(sd_bus_error error, const char* prefix,
+    SdBusError(sd_bus_error* error, const char* prefix,
                SdBusInterface* intf = &sdbus_impl);
 
     SdBusError(const SdBusError&) = delete;
