diff --git a/library/x509_crt.c b/library/x509_crt.c
index 7d60a57..1a3eb2d 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1992,13 +1992,20 @@
     int signature_is_good, fallback_sign_good;
 
 #if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE)
-    /* restore state if we have some stored */
+    /* did we have something in progress? */
     if( rs_ctx != NULL && rs_ctx->parent != NULL )
     {
+        /* restore saved state */
         parent = rs_ctx->parent;
         fallback_parent = rs_ctx->fallback_parent;
         fallback_sign_good = rs_ctx->fallback_sign_good;
 
+        /* clear saved state */
+        rs_ctx->parent = NULL;
+        rs_ctx->fallback_parent = NULL;
+        rs_ctx->fallback_sign_good = 0;
+
+        /* resume where we left */
         goto check_signature;
     }
 #endif
@@ -2070,16 +2077,6 @@
         *r_signature_is_good = fallback_sign_good;
     }
 
-#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE)
-    if( rs_ctx != NULL )
-    {
-        /* reset state */
-        rs_ctx->parent = NULL;
-        rs_ctx->fallback_parent = NULL;
-        rs_ctx->fallback_sign_good = 0;
-    }
-#endif
-
     return( 0 );
 }
 
@@ -2116,9 +2113,12 @@
     *parent_is_trusted = 1;
 
 #if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE)
-    /* restore state if we have some stored */
-    if( rs_ctx != NULL && rs_ctx->parent_is_trusted != -1)
+    /* restore then clear saved state if we have some stored */
+    if( rs_ctx != NULL && rs_ctx->parent_is_trusted != -1 )
+    {
         *parent_is_trusted = rs_ctx->parent_is_trusted;
+        rs_ctx->parent_is_trusted = -1;
+    }
 #endif
 
     while( 1 ) {
@@ -2155,12 +2155,6 @@
         signature_is_good = 0;
     }
 
-#if defined(MBEDTLS_ECDSA_C) && defined(MBEDTLS_ECP_RESTARTABLE)
-    /* reset state */
-    if( rs_ctx != NULL )
-        rs_ctx->parent_is_trusted = -1;
-#endif
-
     return( 0 );
 }
 
@@ -2254,7 +2248,7 @@
     /* resume if we had an operation in progress */
     if( rs_ctx != NULL && rs_ctx->child != NULL )
     {
-        /* save state */
+        /* restore saved state */
         child = rs_ctx->child;
         self_cnt = rs_ctx->self_cnt;
         *ver_chain = rs_ctx->ver_chain;
