diff --git a/transport/include/hidl/HidlBinderSupport.h b/transport/include/hidl/HidlBinderSupport.h
index d6a308b..fb209c4 100644
--- a/transport/include/hidl/HidlBinderSupport.h
+++ b/transport/include/hidl/HidlBinderSupport.h
@@ -320,19 +320,18 @@
     {                                                                                    \
         using ::android::sp;                                                             \
         using ::android::hardware::defaultServiceManager;                                \
-        using ::android::hardware::IBinder;                                              \
         using ::android::hidl::manager::V1_0::IServiceManager;                           \
         sp<I##INTERFACE> iface;                                                          \
         const sp<IServiceManager> sm = defaultServiceManager();                          \
         if (sm != nullptr && !getStub) {                                                 \
-            sp<IBinder> binderIface;                                                     \
+            sp<::android::hidl::base::V1_0::IBase> base;                                 \
             ::android::hardware::Return<void> ret =                                      \
                 sm->get(PACKAGE "::I" #INTERFACE, serviceName.c_str(),                   \
-                    [&binderIface](sp<IBinder> iface) {                                  \
-                        binderIface = iface;                                             \
+                    [&base](sp<::android::hidl::base::V1_0::IBase> found) {              \
+                        base = found;                                                    \
                     });                                                                  \
             if (ret.getStatus().isOk()) {                                                \
-                iface = IHw##INTERFACE::asInterface(binderIface);                        \
+                iface = I##INTERFACE::castFrom(base);                                    \
                 if (iface != nullptr) {                                                  \
                     return iface;                                                        \
                 }                                                                        \
