diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index 43d95a3..dddeb1f 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -4878,6 +4878,11 @@
       [this]() {
         QuicConnection* server_connection = GetServerConnection();
         if (server_connection != nullptr) {
+          if (!server_connection->IsKeyUpdateAllowed()) {
+            // Server may not have received ack from client yet for the current
+            // key phase, wait a bit and try again.
+            return false;
+          }
           EXPECT_TRUE(server_connection->InitiateKeyUpdate());
         } else {
           ADD_FAILURE() << "Missing server connection";
@@ -4896,6 +4901,9 @@
       [this]() {
         QuicConnection* server_connection = GetServerConnection();
         if (server_connection != nullptr) {
+          if (!server_connection->IsKeyUpdateAllowed()) {
+            return false;
+          }
           EXPECT_TRUE(server_connection->InitiateKeyUpdate());
         } else {
           ADD_FAILURE() << "Missing server connection";
@@ -4943,6 +4951,11 @@
       [this]() {
         QuicConnection* server_connection = GetServerConnection();
         if (server_connection != nullptr) {
+          if (!server_connection->IsKeyUpdateAllowed()) {
+            // Server may not have received ack from client yet for the current
+            // key phase, wait a bit and try again.
+            return false;
+          }
           EXPECT_TRUE(server_connection->InitiateKeyUpdate());
         } else {
           ADD_FAILURE() << "Missing server connection";
@@ -4964,6 +4977,9 @@
       [this]() {
         QuicConnection* server_connection = GetServerConnection();
         if (server_connection != nullptr) {
+          if (!server_connection->IsKeyUpdateAllowed()) {
+            return false;
+          }
           EXPECT_TRUE(server_connection->InitiateKeyUpdate());
         } else {
           ADD_FAILURE() << "Missing server connection";
