diff --git a/libs/binder/IServiceManager.cpp b/libs/binder/IServiceManager.cpp
index 8a90ce2..88761d7 100644
--- a/libs/binder/IServiceManager.cpp
+++ b/libs/binder/IServiceManager.cpp
@@ -157,7 +157,7 @@
 
 class AccessorProvider {
 public:
-    AccessorProvider(RpcAccessorProvider&& provider) : mProvider(provider) {}
+    AccessorProvider(RpcAccessorProvider&& provider) : mProvider(std::move(provider)) {}
     sp<IBinder> provide(const String16& name) { return mProvider(name); }
 
 private:
@@ -168,7 +168,8 @@
 
 class AccessorProviderEntry {
 public:
-    AccessorProviderEntry(std::shared_ptr<AccessorProvider>&& provider) : mProvider(provider) {}
+    AccessorProviderEntry(std::shared_ptr<AccessorProvider>&& provider)
+          : mProvider(std::move(provider)) {}
     std::shared_ptr<AccessorProvider> mProvider;
 
 private:
@@ -183,7 +184,7 @@
 class LocalAccessor : public android::os::BnAccessor {
 public:
     LocalAccessor(const String16& instance, RpcSocketAddressProvider&& connectionInfoProvider)
-          : mInstance(instance), mConnectionInfoProvider(connectionInfoProvider) {
+          : mInstance(instance), mConnectionInfoProvider(std::move(connectionInfoProvider)) {
         LOG_ALWAYS_FATAL_IF(!mConnectionInfoProvider,
                             "LocalAccessor object needs a valid connection info provider");
     }
@@ -321,9 +322,10 @@
     std::lock_guard<std::mutex> lock(gAccessorProvidersMutex);
     std::shared_ptr<AccessorProvider> provider =
             std::make_shared<AccessorProvider>(std::move(providerCallback));
+    std::weak_ptr<AccessorProvider> receipt = provider;
     gAccessorProviders.push_back(AccessorProviderEntry(std::move(provider)));
 
-    return provider;
+    return receipt;
 }
 
 status_t removeAccessorProvider(std::weak_ptr<AccessorProvider> wProvider) {
