diff --git a/include/mbedtls/cipher_internal.h b/include/mbedtls/cipher_internal.h
index e761a9e..e02b7f1 100644
--- a/include/mbedtls/cipher_internal.h
+++ b/include/mbedtls/cipher_internal.h
@@ -59,7 +59,6 @@
 
 #if defined(MBEDTLS_CIPHER_MODE_CFB)
     /** Encrypt using CFB (Full length) */
-
     int (*cfb_func)( void *ctx, mbedtls_operation_t mode, size_t length, size_t *iv_off,
                      unsigned char *iv, const unsigned char *input,
                      unsigned char *output );
diff --git a/library/aes.c b/library/aes.c
index 267944a..c221613 100644
--- a/library/aes.c
+++ b/library/aes.c
@@ -1068,11 +1068,11 @@
  * AES-OFB (Output Feedback Mode) buffer encryption/decryption
  */
 int mbedtls_aes_crypt_ofb( mbedtls_aes_context *ctx,
-                            size_t length,
-                            size_t *iv_off,
-                            unsigned char iv[16],
-                            const unsigned char *input,
-                            unsigned char *output )
+                           size_t length,
+                           size_t *iv_off,
+                           unsigned char iv[16],
+                           const unsigned char *input,
+                           unsigned char *output )
 {
     int ret = 0;
     size_t n = *iv_off;
diff --git a/tests/suites/test_suite_aes.function b/tests/suites/test_suite_aes.function
index c45a9ed..9d25666 100644
--- a/tests/suites/test_suite_aes.function
+++ b/tests/suites/test_suite_aes.function
@@ -291,8 +291,8 @@
 
 /* BEGIN_CASE depends_on:MBEDTLS_CIPHER_MODE_OFB */
 void aes_encrypt_ofb( int fragment_size, char *hex_key_string,
-                        char *hex_iv_string, char *hex_src_string,
-                        char *hex_dst_string )
+                      char *hex_iv_string, char *hex_src_string,
+                      char *hex_dst_string )
 {
     unsigned char key_str[100];
     unsigned char iv_str[100];
@@ -326,7 +326,7 @@
 
         hexify( dst_str, output, fragment_size );
         TEST_ASSERT( strncmp( (char *) dst_str, hex_dst_string,
-                                ( 2 * fragment_size) ) == 0 );
+                              ( 2 * fragment_size ) ) == 0 );
 
         in_buffer_len -= fragment_size;
         hex_dst_string += ( fragment_size * 2 );
