diff --git a/compute/zlacpy.c b/compute/zlacpy.c
index de3ff01320540b9648996366ad6c02d1c821ac1a..272bc55d54f5fc3c7529d72af3a42375a5d168f5 100644
--- a/compute/zlacpy.c
+++ b/compute/zlacpy.c
@@ -280,8 +280,8 @@ int CHAMELEON_zlacpy_Tile_Async( cham_uplo_t uplo, CHAM_desc_t *A, CHAM_desc_t *
         return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE);
     }
     /* Check input arguments */
-    if (A->nb != A->mb) {
-        chameleon_error("CHAMELEON_zlacpy_Tile_Async", "only square tiles supported");
+    if ((A->mb != B->mb) || (A->nb != B->nb) ){
+        chameleon_error("CHAMELEON_zlacpy_Tile_Async", "only matching tile sizes supported");
         return chameleon_request_fail(sequence, request, CHAMELEON_ERR_ILLEGAL_VALUE);
     }
     /* Check input arguments */