diff --git a/services/vr/bufferhubd/buffer_hub_binder.cpp b/services/vr/bufferhubd/buffer_hub_binder.cpp
index 26de45d..b507717 100644
--- a/services/vr/bufferhubd/buffer_hub_binder.cpp
+++ b/services/vr/bufferhubd/buffer_hub_binder.cpp
@@ -58,5 +58,24 @@
   return NO_ERROR;
 }
 
+sp<IBufferHub> BufferHubBinderService::getServiceProxy() {
+  sp<IServiceManager> sm = defaultServiceManager();
+  sp<IBinder> service = sm->checkService(String16(getServiceName()));
+
+  if (service == nullptr) {
+    ALOGE("getServiceProxy(): %s binder service not found!", getServiceName());
+    return nullptr;
+  }
+
+  sp<IBufferHub> ret = interface_cast<IBufferHub>(service);
+  if (ret == nullptr) {
+    ALOGE("getServiceProxy(): %s binder service type casting error!",
+          getServiceName());
+    return nullptr;
+  }
+
+  return ret;
+}
+
 }  // namespace dvr
 }  // namespace android
diff --git a/services/vr/bufferhubd/include/private/dvr/buffer_hub_binder.h b/services/vr/bufferhubd/include/private/dvr/buffer_hub_binder.h
index b47c34b..672a348 100644
--- a/services/vr/bufferhubd/include/private/dvr/buffer_hub_binder.h
+++ b/services/vr/bufferhubd/include/private/dvr/buffer_hub_binder.h
@@ -18,6 +18,9 @@
   // usage: adb shell dumpsys bufferhubd
   virtual status_t dump(int fd, const Vector<String16>& args) override;
 
+  // Helper function to get the BpReference to this service
+  static sp<IBufferHub> getServiceProxy();
+
  private:
   std::shared_ptr<BufferHubService> pdx_service_;
 };
diff --git a/services/vr/bufferhubd/tests/buffer_hub_binder_service-test.cpp b/services/vr/bufferhubd/tests/buffer_hub_binder_service-test.cpp
index 67ac1cb..587e6db 100644
--- a/services/vr/bufferhubd/tests/buffer_hub_binder_service-test.cpp
+++ b/services/vr/bufferhubd/tests/buffer_hub_binder_service-test.cpp
@@ -1,4 +1,3 @@
-#include <binder/IServiceManager.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 #include <private/dvr/buffer_hub_binder.h>
@@ -8,6 +7,8 @@
 
 namespace {
 
+using testing::Ne;
+
 class BufferHubBinderServiceTest : public ::testing::Test {
   // Add setup and teardown if necessary
 };
@@ -15,10 +16,8 @@
 TEST_F(BufferHubBinderServiceTest, TestInitialize) {
   // Create a new service will kill the current one.
   // So just check if Binder service is running
-  sp<IServiceManager> sm = defaultServiceManager();
-  sp<IBinder> service =
-      sm->checkService(String16(BufferHubBinderService::getServiceName()));
-  EXPECT_THAT(service, ::testing::Ne(nullptr));
+  sp<IBufferHub> service = BufferHubBinderService::getServiceProxy();
+  EXPECT_THAT(service, Ne(nullptr));
 }
 
 }  // namespace
