diff --git a/test/cpp/qps/server_async.cc b/test/cpp/qps/server_async.cc
index 85acefa00b57791617454f05f594e3ee5fedc553..da1a289e02cb7ced47f0ddb096751e41d00b9fbf 100644
--- a/test/cpp/qps/server_async.cc
+++ b/test/cpp/qps/server_async.cc
@@ -131,7 +131,10 @@ class AsyncQpsServerTest : public Server {
       std::lock_guard<std::mutex> lock((*ss)->mutex);
       (*ss)->shutdown = true;
     }
-    server_->Shutdown();
+    // TODO (vpai): Remove this deadline and allow Shutdown to finish properly
+    auto deadline =
+        std::chrono::system_clock::now() + std::chrono::seconds(3);
+    server_->Shutdown(deadline);
     for (auto cq = srv_cqs_.begin(); cq != srv_cqs_.end(); ++cq) {
       (*cq)->Shutdown();
     }