diff --git a/control/auxiliary.c b/control/auxiliary.c
index fdc35060bdd9e4f600591169a59cf0a8307e5f02..b8300d76c2190b24ef77db5951cd6f08a7b779e9 100644
--- a/control/auxiliary.c
+++ b/control/auxiliary.c
@@ -187,19 +187,19 @@ int CHAMELEON_Version(int *ver_major, int *ver_minor, int *ver_micro)
  * @retval Element size in bytes
  *
  */
-int CHAMELEON_Element_Size( cham_flttype_t type )
+ssize_t CHAMELEON_Element_Size( cham_flttype_t type )
 {
     switch( cham_get_flttype(type) ) {
-        case ChamByte:          return          1;
-        case ChamInteger16:     return   sizeof(int16_t);
-        case ChamInteger32:     return   sizeof(int32_t);
-        case ChamInteger64:     return   sizeof(int64_t);
-        case ChamRealHalf:      return   2;
-        case ChamRealFloat:     return   sizeof(float);
-        case ChamRealDouble:    return   sizeof(double);
-        case ChamComplexHalf:   return   4;
-        case ChamComplexFloat:  return 2*sizeof(float);
-        case ChamComplexDouble: return 2*sizeof(double);
+        case ChamByte:          return (ssize_t)1;
+        case ChamInteger16:     return sizeof(int16_t);
+        case ChamInteger32:     return sizeof(int32_t);
+        case ChamInteger64:     return sizeof(int64_t);
+        case ChamRealHalf:      return (ssize_t)2;
+        case ChamRealFloat:     return sizeof(float);
+        case ChamRealDouble:    return sizeof(double);
+        case ChamComplexHalf:   return (ssize_t)4;
+        case ChamComplexFloat:  return sizeof(float)  * 2;
+        case ChamComplexDouble: return sizeof(double) * 2;
         default: chameleon_fatal_error("CHAMELEON_Element_Size", "undefined type");
                  return CHAMELEON_ERR_ILLEGAL_VALUE;
 
diff --git a/include/chameleon.h b/include/chameleon.h
index cb7e23dedaf7330ab0deffef714f6d9bc01fb7b1..82e9efab8108e10c0cec8f39ef36d5440d46d47d 100644
--- a/include/chameleon.h
+++ b/include/chameleon.h
@@ -141,7 +141,7 @@ int CHAMELEON_Lapack_to_Tile( void *Af77, int LDA, CHAM_desc_t *A ) __attribute_
 int CHAMELEON_Tile_to_Lapack( CHAM_desc_t *A, void *Af77, int LDA ) __attribute__((deprecated("Please refer to CHAMELEON_Desc2Lap() instead")));
 
 /* Descriptor */
-int CHAMELEON_Element_Size( cham_flttype_t type );
+ssize_t CHAMELEON_Element_Size( cham_flttype_t type );
 
 int CHAMELEON_Desc_Create_User( CHAM_desc_t **desc, void *mat, cham_flttype_t dtyp, int mb, int nb, int bsiz,
                                 int lm, int ln, int i, int j, int m, int n, int p, int q,