diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h
index bf30852..485ff57 100644
--- a/include/mbedtls/ssl.h
+++ b/include/mbedtls/ssl.h
@@ -4793,7 +4793,7 @@
  *                 defined in RFC 8446 (TLS 1.3 specification), has been
  *                 received as part of the handshake. This is server specific.
  *                 You must call mbedtls_ssl_read_early_data() to read the
- *                 early data before to resume the handshake.
+ *                 early data before resuming the handshake.
  * \return         Another SSL error code - in this case you must stop using
  *                 the context (see below).
  *
@@ -4947,7 +4947,7 @@
  *                 received as part of an handshake triggered by the function.
  *                 This is server specific. You must call
  *                 mbedtls_ssl_read_early_data() to read the early data before
- *                 to resume the reading of post handshake application data.
+ *                 resuming the reading of post handshake application data.
  * \return         Another SSL error code - in this case you must stop using
  *                 the context (see below).
  *
@@ -5028,7 +5028,7 @@
  *                 received as part of an handshake triggered by the function.
  *                 This is server specific. You must call
  *                 mbedtls_ssl_read_early_data() to read the early data before
- *                 to resume the writing of application data.
+ *                 resuming the writing of application data.
  * \return         Another SSL error code - in this case you must stop using
  *                 the context (see below).
  *
