Adress review comments
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index d9f1c4a..ba63848 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -7309,7 +7309,6 @@
 
     if( authmode == MBEDTLS_SSL_VERIFY_NONE )
     {
-        ssl->handshake->peer_authenticated = MBEDTLS_SSL_FI_FLAG_SET;
         return( 0 );
     }
 
@@ -7929,6 +7928,14 @@
 int mbedtls_ssl_handshake_wrapup( mbedtls_ssl_context *ssl )
 {
     volatile int ret = MBEDTLS_ERR_SSL_INTERNAL_ERROR;
+
+#if defined(MBEDTLS_SSL_SRV_C) && defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
+    const int authmode = ssl->handshake->sni_authmode != MBEDTLS_SSL_VERIFY_UNSET
+                       ? ssl->handshake->sni_authmode
+                       : mbedtls_ssl_conf_get_authmode( ssl->conf );
+#else
+    const int authmode = mbedtls_ssl_conf_get_authmode( ssl->conf );
+#endif
     MBEDTLS_SSL_DEBUG_MSG( 3, ( "=> handshake wrapup" ) );
 
 #if defined(MBEDTLS_SSL_RENEGOTIATION)
@@ -7969,6 +7976,19 @@
     }
 #endif /* MBEDTLS_SSL_SRV_C && !MBEDTLS_SSL_NO_SESSION_CACHE */
 
+    if( authmode == MBEDTLS_SSL_VERIFY_NONE )
+    {
+        if( authmode == MBEDTLS_SSL_VERIFY_NONE )
+        {
+            ssl->handshake->peer_authenticated = MBEDTLS_SSL_FI_FLAG_SET;
+        }
+        else
+        {
+            ret = MBEDTLS_ERR_PLATFORM_FAULT_DETECTED;
+            goto cleanup;
+        }
+    }
+
 #if !defined(MBEDTLS_SSL_NO_SESSION_RESUMPTION)
     if( ssl->handshake->resume )
     {
@@ -7982,7 +8002,7 @@
         else
         {
             ret = MBEDTLS_ERR_PLATFORM_FAULT_DETECTED;
-            return( ret );
+            goto cleanup;
         }
     }
 #endif