diff --git a/include/mbedtls/aead_chacha20_poly1305.h b/include/mbedtls/aead_chacha20_poly1305.h
index 6c8e420..6f7ab6f 100644
--- a/include/mbedtls/aead_chacha20_poly1305.h
+++ b/include/mbedtls/aead_chacha20_poly1305.h
@@ -29,11 +29,6 @@
 #include MBEDTLS_CONFIG_FILE
 #endif
 
-#if !defined(MBEDTLS_AEAD_CHACHA20_POLY1305_ALT)
-
-#include "chacha20.h"
-#include "poly1305.h"
-
 #define MBEDTLS_ERR_AEAD_CHACHA20_POLY1305_BAD_INPUT_DATA -0x00047 /**< Invalid input parameter(s). */
 #define MBEDTLS_ERR_AEAD_CHACHA20_POLY1305_BAD_STATE      -0x00049 /**< The requested operation is not permitted in the current state */
 
@@ -44,6 +39,11 @@
 }
 mbedtls_aead_chacha20_poly1305_mode_t;
 
+#if !defined(MBEDTLS_AEAD_CHACHA20_POLY1305_ALT)
+
+#include "chacha20.h"
+#include "poly1305.h"
+
 typedef struct
 {
     mbedtls_chacha20_context chacha20_ctx;      /** ChaCha20 context */
@@ -55,6 +55,10 @@
 }
 mbedtls_aead_chacha20_poly1305_context;
 
+#else /* !MBEDTLS_AEAD_CHACHA20_POLY1305_ALT */
+#include "aead_chacha20_poly1305_alt.h"
+#endif /* !MBEDTLS_AEAD_CHACHA20_POLY1305_ALT */
+
 /**
  * \brief               Initialize ChaCha20-Poly1305 context
  *
@@ -183,10 +187,6 @@
 int mbedtls_aead_chacha20_poly1305_finish( mbedtls_aead_chacha20_poly1305_context *ctx,
                                            unsigned char mac[16] );
 
-#else /* !MBEDTLS_AEAD_CHACHA20_POLY1305_ALT */
-#include "aead_chacha20_poly1305_alt.h"
-#endif /* !MBEDTLS_AEAD_CHACHA20_POLY1305_ALT */
-
 /**
  * \brief               Encrypt or decrypt data, and produce a MAC with ChaCha20-Poly1305.
  *
diff --git a/include/mbedtls/chacha20.h b/include/mbedtls/chacha20.h
index ccce122..a2856a7 100644
--- a/include/mbedtls/chacha20.h
+++ b/include/mbedtls/chacha20.h
@@ -31,13 +31,13 @@
 #include MBEDTLS_CONFIG_FILE
 #endif
 
-#if !defined(MBEDTLS_CHACHA20_ALT)
-
 #include <stdint.h>
 #include <stddef.h>
 
 #define MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA -0x003B /**< Invalid input parameter(s). */
 
+#if !defined(MBEDTLS_CHACHA20_ALT)
+
 typedef struct
 {
     uint32_t initial_state[16];  /*! Holds the initial state (before round operations) */
@@ -47,6 +47,10 @@
 }
 mbedtls_chacha20_context;
 
+#else  /* MBEDTLS_CHACHA20_ALT */
+#include "chacha20_alt.h"
+#endif /* MBEDTLS_CHACHA20_ALT */
+
 /**
  * \brief           Initialize ChaCha20 context
  *
@@ -149,10 +153,6 @@
                               const unsigned char *input,
                               unsigned char *output );
 
-#else  /* MBEDTLS_CHACHA20_ALT */
-#include "chacha20_alt.h"
-#endif /* MBEDTLS_CHACHA20_ALT */
-
 /**
  * \brief           Encrypt or decrypt a message using ChaCha20.
  *
diff --git a/include/mbedtls/poly1305.h b/include/mbedtls/poly1305.h
index ea9364a..915f8ab 100644
--- a/include/mbedtls/poly1305.h
+++ b/include/mbedtls/poly1305.h
@@ -32,10 +32,10 @@
 #include <stdint.h>
 #include <stddef.h>
 
-#if !defined(MBEDTLS_POLY1305_ALT)
-
 #define MBEDTLS_ERR_POLY1305_BAD_INPUT_DATA -0x0041 /**< Invalid input parameter(s). */
 
+#if !defined(MBEDTLS_POLY1305_ALT)
+
 typedef struct
 {
     uint32_t r[4];      /** Stores the value for 'r' (low 128 bits of the key) */
@@ -46,6 +46,10 @@
 }
 mbedtls_poly1305_context;
 
+#else  /* MBEDTLS_POLY1305_ALT */
+#include "poly1305_alt.h"
+#endif /* MBEDTLS_POLY1305_ALT */
+
 /**
  * \brief               Initialize a Poly1305 context
  *
@@ -109,10 +113,6 @@
 int mbedtls_poly1305_finish( mbedtls_poly1305_context *ctx,
                              unsigned char mac[16] );
 
-#else  /* MBEDTLS_POLY1305_ALT */
-#include "poly1305_alt.h"
-#endif /* MBEDTLS_POLY1305_ALT */
-
 /**
  * \brief               Generate the Poly1305 MAC of some data with the given key.
  *
