diff --git a/ssl/tls13_client.c b/ssl/tls13_client.c
index 6b39371..92ea4f8 100644
--- a/ssl/tls13_client.c
+++ b/ssl/tls13_client.c
@@ -41,7 +41,6 @@
   state_send_end_of_early_data,
   state_send_client_certificate,
   state_send_client_certificate_verify,
-  state_complete_client_certificate_verify,
   state_complete_second_flight,
   state_done,
 };
@@ -543,8 +542,7 @@
   return ssl_hs_ok;
 }
 
-static enum ssl_hs_wait_t do_send_client_certificate_verify(SSL_HANDSHAKE *hs,
-                                                            int is_first_run) {
+static enum ssl_hs_wait_t do_send_client_certificate_verify(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
   /* Don't send CertificateVerify if there is no certificate. */
   if (!ssl_has_certificate(ssl)) {
@@ -552,13 +550,13 @@
     return ssl_hs_ok;
   }
 
-  switch (tls13_add_certificate_verify(hs, is_first_run)) {
+  switch (tls13_add_certificate_verify(hs)) {
     case ssl_private_key_success:
       hs->tls13_state = state_complete_second_flight;
       return ssl_hs_ok;
 
     case ssl_private_key_retry:
-      hs->tls13_state = state_complete_client_certificate_verify;
+      hs->tls13_state = state_send_client_certificate_verify;
       return ssl_hs_private_key_operation;
 
     case ssl_private_key_failure:
@@ -649,10 +647,7 @@
         ret = do_send_client_certificate(hs);
         break;
       case state_send_client_certificate_verify:
-        ret = do_send_client_certificate_verify(hs, 1 /* first run */);
-        break;
-      case state_complete_client_certificate_verify:
-        ret = do_send_client_certificate_verify(hs, 0 /* complete */);
+        ret = do_send_client_certificate_verify(hs);
         break;
       case state_complete_second_flight:
         ret = do_complete_second_flight(hs);
