diff --git a/library/x509parse.c b/library/x509parse.c
index 85671e0..16b2034 100644
--- a/library/x509parse.c
+++ b/library/x509parse.c
@@ -1124,11 +1124,12 @@
 int x509parse_crt( x509_cert *chain, const unsigned char *buf, size_t buflen )
 {
     int ret;
-    size_t len, use_len;
+    size_t len;
     unsigned char *p, *end;
     x509_cert *crt;
 #if defined(POLARSSL_PEM_C)
     pem_context pem;
+    size_t use_len;
 #endif
 
     crt = chain;
@@ -1461,10 +1462,11 @@
 int x509parse_crl( x509_crl *chain, const unsigned char *buf, size_t buflen )
 {
     int ret;
-    size_t len, use_len;
+    size_t len;
     unsigned char *p, *end;
     x509_crl *crl;
 #if defined(POLARSSL_PEM_C)
+    size_t use_len;
     pem_context pem;
 #endif
 
@@ -1893,6 +1895,8 @@
 
     p = ( ret == 0 ) ? pem.buf : (unsigned char *) key;
 #else
+    ((void) pwd);
+    ((void) pwdlen);
     p = (unsigned char *) key;
 #endif
     end = p + keylen;
@@ -3033,14 +3037,16 @@
  */
 int x509_self_test( int verbose )
 {
-#if defined(POLARSSL_MD5_C)
+#if defined(POLARSSL_CERTS_C) && defined(POLARSSL_MD5_C)
     int ret;
     int flags;
     size_t i, j;
     x509_cert cacert;
     x509_cert clicert;
     rsa_context rsa;
+#if defined(POLARSSL_DHM_C)
     dhm_context dhm;
+#endif
 
     if( verbose != 0 )
         printf( "  X.509 certificate load: " );
@@ -3100,6 +3106,7 @@
         return( ret );
     }
 
+#if defined(POLARSSL_DHM_C)
     if( verbose != 0 )
         printf( "passed\n  X.509 DHM parameter load: " );
 
@@ -3116,11 +3123,14 @@
 
     if( verbose != 0 )
         printf( "passed\n\n" );
+#endif
 
     x509_free( &cacert  );
     x509_free( &clicert );
     rsa_free( &rsa );
+#if defined(POLARSSL_DHM_C)
     dhm_free( &dhm );
+#endif
 
     return( 0 );
 #else
