diff --git a/library/rsa.c b/library/rsa.c
index 5abf6f6..4523368 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -1486,6 +1486,7 @@
  */
 int rsa_self_test( int verbose )
 {
+    int ret = 0;
 #if defined(POLARSSL_PKCS1_V15)
     size_t len;
     rsa_context rsa;
@@ -1499,14 +1500,14 @@
     rsa_init( &rsa, RSA_PKCS_V15, 0 );
 
     rsa.len = KEY_LEN;
-    mpi_read_string( &rsa.N , 16, RSA_N  );
-    mpi_read_string( &rsa.E , 16, RSA_E  );
-    mpi_read_string( &rsa.D , 16, RSA_D  );
-    mpi_read_string( &rsa.P , 16, RSA_P  );
-    mpi_read_string( &rsa.Q , 16, RSA_Q  );
-    mpi_read_string( &rsa.DP, 16, RSA_DP );
-    mpi_read_string( &rsa.DQ, 16, RSA_DQ );
-    mpi_read_string( &rsa.QP, 16, RSA_QP );
+    MPI_CHK( mpi_read_string( &rsa.N , 16, RSA_N  ) );
+    MPI_CHK( mpi_read_string( &rsa.E , 16, RSA_E  ) );
+    MPI_CHK( mpi_read_string( &rsa.D , 16, RSA_D  ) );
+    MPI_CHK( mpi_read_string( &rsa.P , 16, RSA_P  ) );
+    MPI_CHK( mpi_read_string( &rsa.Q , 16, RSA_Q  ) );
+    MPI_CHK( mpi_read_string( &rsa.DP, 16, RSA_DP ) );
+    MPI_CHK( mpi_read_string( &rsa.DQ, 16, RSA_DQ ) );
+    MPI_CHK( mpi_read_string( &rsa.QP, 16, RSA_QP ) );
 
     if( verbose != 0 )
         polarssl_printf( "  RSA key validation: " );
@@ -1586,11 +1587,12 @@
         polarssl_printf( "passed\n\n" );
 #endif /* POLARSSL_SHA1_C */
 
+cleanup:
     rsa_free( &rsa );
 #else /* POLARSSL_PKCS1_V15 */
     ((void) verbose);
 #endif /* POLARSSL_PKCS1_V15 */
-    return( 0 );
+    return( ret );
 }
 
 #endif
