diff --git a/src/hchameleon.c b/src/hchameleon.c
index fcdfeeeb34c28e4f78ed02d8cd53d75d9e664c28..52bbf5d467a68552779bd003fcbad82f4e1626b1 100644
--- a/src/hchameleon.c
+++ b/src/hchameleon.c
@@ -195,7 +195,7 @@ hmat_interface_t *hi )
   cham_map_operator_t op;
 
   data.access = ChamW;
-  data.desc   = *descA;
+  data.desc   = descA;
 
   op.name     = "BuildFEMBEM-H";
   op.cpufunc  = HCHAMELEON_build_callback_FEMBEM;
@@ -386,9 +386,9 @@ typedef struct getinfo_args_s {
 } getinfo_args_t;
 
 static int
-HCHAMELEON_map_getinfo( const CHAM_desc_t *desc,
-                        cham_uplo_t uplo, int m, int n,
-                        CHAM_tile_t *tile, void *op_args )
+HCHAMELEON_map_getinfo( void *op_args,
+                        cham_uplo_t uplo, int m, int n, int ndata,
+                        const CHAM_desc_t *desc, CHAM_tile_t *tile, ... )
 {
   getinfo_args_t *getinfo = (getinfo_args_t*)op_args;
   hmat_info_t     info;
@@ -399,6 +399,10 @@ HCHAMELEON_map_getinfo( const CHAM_desc_t *desc,
   getinfo->uncompress_size += info.uncompressed_size;
   pthread_mutex_unlock( &(getinfo->mutex) );
 
+  (void)ndata;
+  (void)uplo;
+  (void)m;
+  (void)n;
   return 0;
 }
 
@@ -413,9 +417,18 @@ hmat_info_t HCHAMELEON_getinfo( HCHAM_desc_t *hdesc )
     .mutex = PTHREAD_MUTEX_INITIALIZER,
   };
   cham_uplo_t uplo = symMatSolver ? ChamLower : ChamUpperLower;
+  cham_map_data_t data;
+  cham_map_operator_t op;
+
+  data.access = ChamR;
+  data.desc   = hdesc->super;
+
+  op.name     = "HCHAM_getInfo";
+  op.cpufunc  = HCHAMELEON_map_getinfo;
+  op.cudafunc = NULL;
+  op.hipfunc  = NULL;
 
-  CHAMELEON_map_Tile( ChamR, uplo, hdesc->super,
-                      HCHAMELEON_map_getinfo, &op_args );
+  CHAMELEON_map_Tile( uplo, 1, &data, &op, &op_args );
 
   MPI_Allreduce( &(op_args.compress_size), &ginfo.compressed_size, 1,
                  MPI_UNSIGNED_LONG, MPI_SUM, MPI_COMM_WORLD );