diff --git a/test/cpp/interop/reconnect_interop_server.cc b/test/cpp/interop/reconnect_interop_server.cc
index f7e1e8bd30b71f6ffd3eaf9695b9cd017221eb17..1c9ba55fb878c9371d9a4ab8c2cc20c87b986cb1 100644
--- a/test/cpp/interop/reconnect_interop_server.cc
+++ b/test/cpp/interop/reconnect_interop_server.cc
@@ -116,8 +116,8 @@ class ReconnectServiceImpl : public ReconnectService::Service {
     {
       std::lock_guard<std::mutex> lock(mu_);
       serving_ = false;
+      cv_.notify_one();
     }
-    cv_.notify_one();
     return Status::OK;
   }
 
@@ -147,10 +147,8 @@ class ReconnectServiceImpl : public ReconnectService::Service {
   }
 
   void Shutdown() {
-    {
-      std::lock_guard<std::mutex> lock(mu_);
-      shutdown_ = true;
-    }
+    std::lock_guard<std::mutex> lock(mu_);
+    shutdown_ = true;
     cv_.notify_all();
   }