diff --git a/extensions/include/grpc++/impl/proto_server_reflection_plugin.h b/extensions/include/grpc++/impl/proto_server_reflection_plugin.h
index 5bf1ff1bfccd21b6813d7c1c9636bc3c5d9023ac..774d3439e75601cea0257ca7794d702f766870d6 100644
--- a/extensions/include/grpc++/impl/proto_server_reflection_plugin.h
+++ b/extensions/include/grpc++/impl/proto_server_reflection_plugin.h
@@ -59,17 +59,6 @@ class ProtoServerReflectionPlugin : public ::grpc::ServerBuilderPlugin {
   std::shared_ptr<::grpc::ProtoServerReflection> reflection_service_;
 };
 
-std::unique_ptr<::grpc::ServerBuilderPlugin> CreateProtoReflection();
-
-void grpc_AddServerBuilderPlugin_reflection();
-
-// Force AddServerBuilderPlugin() to be called at static initialization time.
-static struct StaticPluginInitializer_reflection {
-  StaticPluginInitializer_reflection() {
-    grpc_AddServerBuilderPlugin_reflection();
-  }
-} static_plugin_initializer_reflection;
-
 }  // namespace reflection
 }  // namespace grpc
 
diff --git a/extensions/reflection/proto_server_reflection_plugin.cc b/extensions/reflection/proto_server_reflection_plugin.cc
index 465a8b9442e25774f65604c83952220477b92472..8489adc7e11d6ab70703b5cf8dca1597108141c5 100644
--- a/extensions/reflection/proto_server_reflection_plugin.cc
+++ b/extensions/reflection/proto_server_reflection_plugin.cc
@@ -73,17 +73,23 @@ bool ProtoServerReflectionPlugin::has_async_methods() const {
   return false;
 }
 
-std::unique_ptr<::grpc::ServerBuilderPlugin> CreateProtoReflection() {
+static std::unique_ptr<::grpc::ServerBuilderPlugin> CreateProtoReflection() {
   return std::unique_ptr<::grpc::ServerBuilderPlugin>(
       new ProtoServerReflectionPlugin());
 }
 
-void grpc_AddServerBuilderPlugin_reflection() {
+static void AddProtoReflectionServerBuilderPlugin() {
   static bool already_here = false;
   if (already_here) return;
   already_here = true;
   ::grpc::ServerBuilder::InternalAddPluginFactory(&CreateProtoReflection);
 }
 
+struct StaticProtoReflectionPluginInitializer {
+  StaticProtoReflectionPluginInitializer() {
+    AddProtoReflectionServerBuilderPlugin();
+  }
+} static_proto_reflection_plugin_initializer;
+
 }  // namespace reflection
 }  // namespace grpc
diff --git a/test/cpp/end2end/proto_server_reflection_test.cc b/test/cpp/end2end/proto_server_reflection_test.cc
index ae770654ffe4a94580fa6a09f38155a826c8e48f..300b2091139a3adc8592cb0aefc239fd103e77f4 100644
--- a/test/cpp/end2end/proto_server_reflection_test.cc
+++ b/test/cpp/end2end/proto_server_reflection_test.cc
@@ -140,6 +140,7 @@ class ProtoServerReflectionTest : public ::testing::Test {
   std::unordered_set<string> known_types_;
   const google::protobuf::DescriptorPool* ref_desc_pool_;
   int port_;
+  reflection::ProtoServerReflectionPlugin plugin_;
 };
 
 TEST_F(ProtoServerReflectionTest, CheckResponseWithLocalDescriptorPool) {
diff --git a/test/cpp/util/proto_reflection_descriptor_database.cc b/test/cpp/util/proto_reflection_descriptor_database.cc
index 6513a149928da08210b94d41abe7eb926f38510b..6907d97bd5e922e4067edcf0c29c9c4e3de33a56 100644
--- a/test/cpp/util/proto_reflection_descriptor_database.cc
+++ b/test/cpp/util/proto_reflection_descriptor_database.cc
@@ -69,10 +69,7 @@ bool ProtoReflectionDescriptorDatabase::FindFileByName(
   request.set_file_by_filename(filename);
   ServerReflectionResponse response;
 
-  stream_mutex_.lock();
-  GetStream()->Write(request);
-  GetStream()->Read(&response);
-  stream_mutex_.unlock();
+  DoOneRequest(request, response);
 
   if (response.message_response_case() ==
       ServerReflectionResponse::MessageResponseCase::kFileDescriptorResponse) {
@@ -117,10 +114,7 @@ bool ProtoReflectionDescriptorDatabase::FindFileContainingSymbol(
   request.set_file_containing_symbol(symbol_name);
   ServerReflectionResponse response;
 
-  stream_mutex_.lock();
-  GetStream()->Write(request);
-  GetStream()->Read(&response);
-  stream_mutex_.unlock();
+  DoOneRequest(request, response);
 
   if (response.message_response_case() ==
       ServerReflectionResponse::MessageResponseCase::kFileDescriptorResponse) {
@@ -174,10 +168,7 @@ bool ProtoReflectionDescriptorDatabase::FindFileContainingExtension(
       field_number);
   ServerReflectionResponse response;
 
-  stream_mutex_.lock();
-  GetStream()->Write(request);
-  GetStream()->Read(&response);
-  stream_mutex_.unlock();
+  DoOneRequest(request, response);
 
   if (response.message_response_case() ==
       ServerReflectionResponse::MessageResponseCase::kFileDescriptorResponse) {
@@ -227,10 +218,7 @@ bool ProtoReflectionDescriptorDatabase::FindAllExtensionNumbers(
   request.set_all_extension_numbers_of_type(extendee_type);
   ServerReflectionResponse response;
 
-  stream_mutex_.lock();
-  GetStream()->Write(request);
-  GetStream()->Read(&response);
-  stream_mutex_.unlock();
+  DoOneRequest(request, response);
 
   if (response.message_response_case() ==
       ServerReflectionResponse::MessageResponseCase::
@@ -262,10 +250,7 @@ bool ProtoReflectionDescriptorDatabase::GetServices(
   request.set_list_services("");
   ServerReflectionResponse response;
 
-  stream_mutex_.lock();
-  GetStream()->Write(request);
-  GetStream()->Read(&response);
-  stream_mutex_.unlock();
+  DoOneRequest(request, response);
 
   if (response.message_response_case() ==
       ServerReflectionResponse::MessageResponseCase::kListServicesResponse) {
@@ -319,4 +304,13 @@ ProtoReflectionDescriptorDatabase::GetStream() {
   return stream_;
 }
 
+void ProtoReflectionDescriptorDatabase::DoOneRequest(
+    const ServerReflectionRequest& request,
+    ServerReflectionResponse& response) {
+  stream_mutex_.lock();
+  GetStream()->Write(request);
+  GetStream()->Read(&response);
+  stream_mutex_.unlock();
+}
+
 }  // namespace grpc
diff --git a/test/cpp/util/proto_reflection_descriptor_database.h b/test/cpp/util/proto_reflection_descriptor_database.h
index c6f7b5f046611d2a0a8e9f49ddc94fffca165573..7656a496c25aafc47e517ef2e282b194035bcc66 100644
--- a/test/cpp/util/proto_reflection_descriptor_database.h
+++ b/test/cpp/util/proto_reflection_descriptor_database.h
@@ -91,6 +91,10 @@ class ProtoReflectionDescriptorDatabase
 
   const std::shared_ptr<ClientStream> GetStream();
 
+  void DoOneRequest(
+    const grpc::reflection::v1alpha::ServerReflectionRequest& request,
+    grpc::reflection::v1alpha::ServerReflectionResponse& response);
+
   std::shared_ptr<ClientStream> stream_;
   grpc::ClientContext ctx_;
   std::unique_ptr<grpc::reflection::v1alpha::ServerReflection::Stub> stub_;
diff --git a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh
index b1af579a74b45ceafd0dbd86a202a6f6e02d1699..62e41755ec1362c55a19b89514c83588bd97a580 100755
--- a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh
+++ b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh
@@ -33,9 +33,6 @@ set -e
 mkdir -p /var/local/git
 git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc
 
-# copy service account keys if available
-cp -r /var/local/jenkins/service_account $HOME || true
-
 cd /var/local/git/grpc
 
 # build grpc cpp plugin for generating grpc pb files