diff --git a/control/async.c b/control/async.c
index b3df48acf9a14235153bb2f28f73ded963dc8b15..82d99893050d2539f1a1938e3c593dec53ba9a5e 100644
--- a/control/async.c
+++ b/control/async.c
@@ -30,7 +30,6 @@
  * @brief Group routines exposed to users to handle asynchronous tasks execution
  *
  */
-
 #include <stdlib.h>
 #include "control/common.h"
 #include "runtime.h"
diff --git a/control/common.h b/control/common.h
index 283286e8bb972c7790eba13f165fe38c8734a684..8b88dbd2f6862b8c834908fc6653bd0ba7fd285c 100644
--- a/control/common.h
+++ b/control/common.h
@@ -31,6 +31,7 @@
 #ifndef _MORSE_COMMON_H_
 #define _MORSE_COMMON_H_
 
+#include <stdlib.h>
 #include <stdio.h>
 #include <math.h>
 #include <string.h>
@@ -73,7 +74,6 @@
 #include <magma.h>
 #endif
 
-
 /** ****************************************************************************
  *  Line to avoid conflict with magma, because, we don't know why
  *  but lapacke provide a wrong interface of lapack in fortran
@@ -81,15 +81,21 @@
 #ifndef LAPACK_NAME
 #define LAPACK_NAME(a, b) lapackef77_##a
 #endif
+
+/** ****************************************************************************
+ *  Chameleon header files
+ **/
+#include "morse.h"
+
 #include "coreblas/include/coreblas.h"
 #if defined(CHAMELEON_USE_CUDA)
 #include "cudablas/include/cudablas.h"
 #endif
 
-#include "morse.h"
-
 #include "control/global.h"
 #include "control/auxiliary.h"
+#include "control/context.h"
+#include "control/descriptor.h"
 #include "control/tile.h"
 #include "control/async.h"
 #include "control/bulge.h"
diff --git a/include/morse.h.in b/include/morse.h.in
index 63658aac3529ddf8c4be62fbd3bccc6140af9c26..be279ede5bac0024fa08ff47392e906fed76d611 100644
--- a/include/morse.h.in
+++ b/include/morse.h.in
@@ -55,14 +55,6 @@
  */
 #include "morse_simulate.h"
 
-
-/* ****************************************************************************
- * Set of routines which can be useful fo users
- */
-#include "control/context.h"
-#include "control/descriptor.h"
-
-
 /* ****************************************************************************
  * MORSE Functions
  */
@@ -72,7 +64,6 @@ extern "C" {
 
 /* Auxiliary */
 int MORSE_Version        (int *ver_major, int *ver_minor, int *ver_micro);
-int MORSE_Element_Size(int type);
 int MORSE_My_Mpi_Rank    (void);
 int MORSE_Init           (int nworkers, int ncudas);
 int MORSE_InitPar        (int nworkers, int ncudas, int nthreads_per_worker);
@@ -87,6 +78,7 @@ int MORSE_Distributed_size (int*size);
 int MORSE_Distributed_rank (int*rank);
 
 /* Descriptor */
+int MORSE_Element_Size(int type);
 int MORSE_Desc_Create  (MORSE_desc_t **desc, void *mat, MORSE_enum dtyp,
                         int mb, int nb, int bsiz, int lm, int ln,
                         int i, int j, int m, int n, int p, int q);