diff --git a/transport/ServiceManagement.cpp b/transport/ServiceManagement.cpp
index 9c692da..617a858 100644
--- a/transport/ServiceManagement.cpp
+++ b/transport/ServiceManagement.cpp
@@ -201,7 +201,7 @@
                      << ": null binderized manager.";
         return;
     }
-    auto ret = binderizedManager->registerPassthroughClient(interfaceName, instanceName, getpid());
+    auto ret = binderizedManager->registerPassthroughClient(interfaceName, instanceName);
     if (!ret.isOk()) {
         LOG(WARNING) << "Could not registerReference for "
                      << interfaceName << "/" << instanceName
@@ -369,7 +369,7 @@
         return Void();
     }
 
-    Return<void> registerPassthroughClient(const hidl_string &, const hidl_string &, int32_t) override {
+    Return<void> registerPassthroughClient(const hidl_string &, const hidl_string &) override {
         // This makes no sense.
         LOG(FATAL) << "Cannot call registerPassthroughClient on passthrough service manager. "
                    << "Call it on defaultServiceManager() instead.";
diff --git a/transport/current.txt b/transport/current.txt
index 9b41870..b6d8949 100644
--- a/transport/current.txt
+++ b/transport/current.txt
@@ -6,7 +6,7 @@
 43a52a3777b4d6ec1bb0f5c371bbcecc51898e76695834e0971fef424659f66a android.hidl.allocator@1.0::IAllocator
 bddab6184d7a346da6a07dc0828cf19a696f4caa3611c51f2e14565a14b40fd9 android.hidl.base@1.0::IBase
 500ec34f1b0826a93c4abe45b23c4d85565d8041acaf3cf9fb23c09702967567 android.hidl.base@1.0::types
-234feb5f59498c482639151de0b4bdfa0e3af56f2eb581050cbc5d3557cc88ec android.hidl.manager@1.0::IServiceManager
+4d046a598e85f1c2d383c3a9096c3c0578e97458072ee7e67f704e99d5fb0d3f android.hidl.manager@1.0::IServiceManager
 50552b700ef67c7ed8c8d776d323f8c629a9b43b965e10a916a66f3c946c50fb android.hidl.manager@1.0::IServiceNotification
 2b885b5dec97391c82f35e64180686dc4c8f78b2b0a01732f8536385654f27c8 android.hidl.memory@1.0::IMapper
 4632246017013e75536fa6ee47db286b24a323fb92c37c6b14bb0ab796b7a16b android.hidl.memory@1.0::IMemory
diff --git a/transport/manager/1.0/IServiceManager.hal b/transport/manager/1.0/IServiceManager.hal
index 1a37c54..2b59a56 100644
--- a/transport/manager/1.0/IServiceManager.hal
+++ b/transport/manager/1.0/IServiceManager.hal
@@ -156,9 +156,9 @@
     /**
      * When the passthrough service manager returns a service via
      * get(string, string), it must dispatch a registerPassthroughClient call
-     * to the binderized service manager to indicate which process has called
-     * get. Binderized service manager must record this PID, which can
+     * to the binderized service manager to indicate the current process has
+     * called get(). Binderized service manager must record this PID, which can
      * be retrieved via debugDump.
      */
-    oneway registerPassthroughClient(string fqName, string name, int32_t pid);
+    registerPassthroughClient(string fqName, string name);
 };
