diff --git a/include/sdbusplus/async/client.hpp b/include/sdbusplus/async/client.hpp
index 44f4565..bf0da03 100644
--- a/include/sdbusplus/async/client.hpp
+++ b/include/sdbusplus/async/client.hpp
@@ -67,6 +67,13 @@
     {
         return client<S, true, Preserved, Types...>(ctx, proxy.path(p));
     }
+
+    /* Convert client into a Preserved Proxy. */
+    auto preserve() const noexcept
+        requires(!Preserved)
+    {
+        return client<S, P, true, Types...>(ctx, proxy.preserve());
+    }
 };
 
 } // namespace client
diff --git a/include/sdbusplus/async/proxy.hpp b/include/sdbusplus/async/proxy.hpp
index 3bcb55c..2117921 100644
--- a/include/sdbusplus/async/proxy.hpp
+++ b/include/sdbusplus/async/proxy.hpp
@@ -104,8 +104,10 @@
     auto preserve() const noexcept
         requires(!Preserved)
     {
-        return proxy<S, P, I, true>{std::string{this->s}, std::string{this->p},
-                                    std::string{this->i}};
+        using result_t = proxy<S, P, I, true>;
+        return result_t(typename result_t::value_t<S>(this->s),
+                        typename result_t::value_t<P>(this->p),
+                        typename result_t::value_t<I>(this->i));
     }
 
     /** Perform a method call.
