diff --git a/control/descriptor.c b/control/descriptor.c
index de4bd65c032d661372453d319e9659a58bb1faab..ad2d53f2859da764e7156e9872f5898f985214a3 100644
--- a/control/descriptor.c
+++ b/control/descriptor.c
@@ -68,6 +68,27 @@ int chameleon_desc_mat_free( CHAM_desc_t *desc )
     return CHAMELEON_SUCCESS;
 }
 
+/**
+ *  Internal function to return MPI rank of element A(m,n) with m,n = block indices
+ */
+int chameleon_getrankof_2d( const CHAM_desc_t *A, int m, int n )
+{
+    int mm = m + A->i / A->mb;
+    int nn = n + A->j / A->nb;
+    return (mm % A->p) * A->q + (nn % A->q);
+}
+
+/**
+ *  Internal function to return MPI rank of element DIAG(m,0) with m,n = block indices
+ */
+int chameleon_getrankof_2d_diag( const CHAM_desc_t *A, int m, int n )
+{
+    int mm = m + A->i / A->mb;
+    assert( m == n );
+    return (mm % A->p) * A->q + (mm % A->q);
+}
+
+
 /**
  ******************************************************************************
  *
diff --git a/control/descriptor.h b/control/descriptor.h
index 2be4cafe9c59f7a13042b54e6a99bf0b265bd00c..6eff677110b0e4269a5366cc7ffcf24269050547 100644
--- a/control/descriptor.h
+++ b/control/descriptor.h
@@ -44,8 +44,8 @@ inline static int   chameleon_getblkldd_ccrb(const CHAM_desc_t *A, int m);
 /**
  *  Data distributions
  */
-inline static int   chameleon_getrankof_2d(const CHAM_desc_t *desc, int m, int n);
-inline static int   chameleon_getrankof_2d_diag(const CHAM_desc_t *desc, int m, int n);
+int          chameleon_getrankof_2d(const CHAM_desc_t *desc, int m, int n);
+int          chameleon_getrankof_2d_diag(const CHAM_desc_t *desc, int m, int n);
 
 int          chameleon_desc_init     ( CHAM_desc_t *desc, void *mat,
                                        cham_flttype_t dtyp, int mb, int nb, int bsiz,
@@ -175,27 +175,6 @@ inline static int chameleon_getblkldd_cm(const CHAM_desc_t *A, int m) {
     return A->llm;
 }
 
-/**
- *  Internal function to return MPI rank of element A(m,n) with m,n = block indices
- */
-inline static int chameleon_getrankof_2d(const CHAM_desc_t *A, int m, int n)
-{
-    int mm = m + A->i / A->mb;
-    int nn = n + A->j / A->nb;
-    return (mm % A->p) * A->q + (nn % A->q);
-}
-
-/**
- *  Internal function to return MPI rank of element DIAG(m,0) with m,n = block indices
- */
-inline static int chameleon_getrankof_2d_diag(const CHAM_desc_t *A, int m, int n)
-{
-    int mm = m + A->i / A->mb;
-    assert( m == n );
-    return (mm % A->p) * A->q + (mm % A->q);
-}
-
-
 /**
  * Detect if the tile is local or not
  */