diff --git a/include/mbedtls/x509_crt.h b/include/mbedtls/x509_crt.h
index 2b4d353..916ff8d 100644
--- a/include/mbedtls/x509_crt.h
+++ b/include/mbedtls/x509_crt.h
@@ -286,7 +286,7 @@
  *                 used to sign the certificate, CRL verification is skipped
  *                 silently, that is *without* setting any flag.
  *
- * \note           The \c trust_ca list can contain two type of certificates:
+ * \note           The \c trust_ca list can contain two types of certificates:
  *                 (1) those of trusted root CAs, so that certificates
  *                 chaining up to those CAs will be trusted, and (2)
  *                 self-signed end-entity certificates to be trusted (for
diff --git a/library/x509_crt.c b/library/x509_crt.c
index f586fb4..782a5ca 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1645,7 +1645,7 @@
 
 /*
  * Check that the given certificate is not revoked according to the CRL.
- * Skip validation is no CRL for the given CA is present.
+ * Skip validation if no CRL for the given CA is present.
  */
 static int x509_crt_verifycrl( mbedtls_x509_crt *crt, mbedtls_x509_crt *ca,
                                mbedtls_x509_crl *crl_list,
@@ -1994,7 +1994,7 @@
     if( parent == NULL )
         parent = badtime_parent;
 
-    return parent;
+    return( parent );
 }
 
 /*
@@ -2016,7 +2016,7 @@
     parent = x509_crt_find_parent_in( child, trust_ca, 1, path_cnt, self_cnt );
 
     if( parent != NULL )
-        return parent;
+        return( parent );
 
     /* Look for a parent upwards the chain */
     *parent_is_trusted = 0;
@@ -2228,7 +2228,7 @@
     }
     else
     {
-        for( name = &crt->subject; name != NULL;  name = name->next )
+        for( name = &crt->subject; name != NULL; name = name->next )
         {
             if( MBEDTLS_OID_CMP( MBEDTLS_OID_AT_CN, &name->oid ) == 0 &&
                 x509_crt_check_cn( &name->val, cn, cn_len ) == 0 )
