diff --git a/src/cpp/server/server_cc.cc b/src/cpp/server/server_cc.cc
index 6adabef..6bb88bc 100644
--- a/src/cpp/server/server_cc.cc
+++ b/src/cpp/server/server_cc.cc
@@ -221,9 +221,14 @@
           MethodHandler::HandlerParameter(&call_, &ctx_, request_payload_));
       global_callbacks->PostSynchronousRequest(&ctx_);
       request_payload_ = nullptr;
-      DummyTag ignored_tag;
+
       cq_.Shutdown();
-      /* Ensure the cq_ is shutdown (else this will hang indefinitely) */
+
+      CompletionQueueTag* op_tag = ctx_.GetCompletionOpTag();
+      cq_.TryPluck(op_tag, gpr_inf_future(GPR_CLOCK_REALTIME));
+
+     /* Ensure the cq_ is shutdown */
+      DummyTag ignored_tag;
       GPR_ASSERT(cq_.Pluck(&ignored_tag) == false);
     }
 
diff --git a/src/cpp/server/server_context.cc b/src/cpp/server/server_context.cc
index 05c05c8..01e9c00 100644
--- a/src/cpp/server/server_context.cc
+++ b/src/cpp/server/server_context.cc
@@ -166,6 +166,10 @@
   call->PerformOps(completion_op_);
 }
 
+CompletionQueueTag* ServerContext::GetCompletionOpTag() {
+  return static_cast<CompletionQueueTag*>(completion_op_);
+}
+
 void ServerContext::AddInitialMetadata(const grpc::string& key,
                                        const grpc::string& value) {
   initial_metadata_.insert(std::make_pair(key, value));
