diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c
index 4c9f466..e451ba4 100644
--- a/library/ssl_tls13_server.c
+++ b/library/ssl_tls13_server.c
@@ -203,6 +203,7 @@
     {
         uint16_t group;
         size_t key_exchange_len;
+        const unsigned char *key_exchange;
 
         /*
          * struct {
@@ -214,7 +215,9 @@
         group = MBEDTLS_GET_UINT16_BE( p, 0 );
         key_exchange_len = MBEDTLS_GET_UINT16_BE( p, 2 );
         p += 4;
+        key_exchange = p;
         MBEDTLS_SSL_CHK_BUF_READ_PTR( p, client_shares_end, key_exchange_len );
+        p += key_exchange_len;
 
         /* Continue parsing even if we have already found a match,
          * for input validation purposes.
@@ -223,7 +226,6 @@
             ! mbedtls_ssl_named_group_is_supported( group ) ||
             ssl->handshake->offered_group_id != 0 )
         {
-            p += key_exchange_len;
             continue;
         }
 
@@ -236,7 +238,7 @@
                                         mbedtls_ssl_named_group_to_str( group ),
                                         group ) );
             ret = mbedtls_ssl_tls13_read_public_ecdhe_share(
-                      ssl, p - 2, key_exchange_len + 2 );
+                      ssl, key_exchange - 2, key_exchange_len + 2 );
             if( ret != 0 )
                 return( ret );
 
@@ -245,12 +247,10 @@
         {
             MBEDTLS_SSL_DEBUG_MSG( 4, ( "Unrecognized NamedGroup %u",
                                         (unsigned) group ) );
-            p += key_exchange_len;
             continue;
         }
 
         ssl->handshake->offered_group_id = group;
-        p += key_exchange_len;
     }
 
 
