diff --git a/library/ssl_misc.h b/library/ssl_misc.h
index 0b3ba90..2621d20 100644
--- a/library/ssl_misc.h
+++ b/library/ssl_misc.h
@@ -624,6 +624,9 @@
 #if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
     uint8_t tls13_kex_modes; /*!< Key exchange modes supported by the client */
 #endif
+#if defined(MBEDTLS_SSL_SESSION_TICKETS)
+    int tls13_session_tickets;         /*!< number of session tickets */
+#endif
 #endif /* MBEDTLS_SSL_SRV_C */
 
 #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c
index e185dc1..7807408 100644
--- a/library/ssl_tls13_server.c
+++ b/library/ssl_tls13_server.c
@@ -2617,7 +2617,8 @@
 static int ssl_tls13_write_new_session_ticket_coordinate( mbedtls_ssl_context *ssl )
 {
     /* Check whether the use of session tickets is enabled */
-    if( ssl->conf->f_ticket_write == NULL )
+    if( ssl->conf->f_ticket_write == NULL ||
+        ssl->handshake->tls13_session_tickets == 0 )
     {
         MBEDTLS_SSL_DEBUG_MSG( 2, ( "new session ticket is not enabled" ) );
         return( SSL_NEW_SESSION_TICKET_SKIP );
@@ -2640,6 +2641,10 @@
 
     MBEDTLS_SSL_DEBUG_MSG( 2, ( "=> prepare NewSessionTicket msg" ) );
 
+    if( ssl->handshake->resume == 1 )
+        ssl->handshake->tls13_session_tickets = 0;
+    else
+        ssl->handshake->tls13_session_tickets--;
 #if defined(MBEDTLS_HAVE_TIME)
     session->start = mbedtls_time( NULL );
 #endif
@@ -2885,6 +2890,12 @@
         /* start state */
         case MBEDTLS_SSL_HELLO_REQUEST:
             mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_CLIENT_HELLO );
+#if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS)
+            ssl->handshake->tls13_session_tickets =
+                ssl->conf->new_session_tickets ?
+                    ssl->conf->new_session_tickets :
+                    MBEDTLS_SSL_TLS1_3_DEFAULT_NEW_SESSION_TICKETS;
+#endif
             ret = 0;
             break;
 
@@ -3002,7 +3013,11 @@
              * as part of ssl_prepare_handshake_step.
              */
             ret = 0;
-            mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_HANDSHAKE_OVER );
+
+            if( ssl->handshake->tls13_session_tickets == 0 )
+                mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_HANDSHAKE_OVER );
+            else
+                mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_NEW_SESSION_TICKET );
             break;
 
 #endif /* MBEDTLS_SSL_SESSION_TICKETS */
