diff --git a/library/entropy.c b/library/entropy.c
index 6b0b47b..78ea6d4 100644
--- a/library/entropy.c
+++ b/library/entropy.c
@@ -258,7 +258,8 @@
  */
 static int entropy_gather_internal( mbedtls_entropy_context *ctx )
 {
-    int ret, i;
+    int i;
+    volatile int ret = MBEDTLS_ERR_ENTROPY_NO_STRONG_SOURCE;
     volatile int have_one_strong_fi = 0;
     unsigned char buf[MBEDTLS_ENTROPY_MAX_GATHER];
     size_t olen;
@@ -299,19 +300,19 @@
         }
     }
 
-    if( have_one_strong_fi == 0 )
-    {
-        mbedtls_platform_enforce_volatile_reads();
-        if( have_one_strong_fi == 0)
-        {
-            ret = MBEDTLS_ERR_ENTROPY_NO_STRONG_SOURCE;
-        }
-    }
-
 cleanup:
     mbedtls_platform_zeroize( buf, sizeof( buf ) );
 
-    return( ret );
+    if( have_one_strong_fi == 1 )
+    {
+        mbedtls_platform_enforce_volatile_reads();
+        if( have_one_strong_fi == 1 )
+        {
+            return( ret );
+        }
+    }
+
+    return( MBEDTLS_ERR_ENTROPY_NO_STRONG_SOURCE );
 }
 
 /*
