diff --git a/compute/pzgelqf_param.c b/compute/pzgelqf_param.c
index c0843b6664ad51079cf2b12720143b06ac005d8b..476ce30d481dd4d3e88f988d293783edb492cd06 100644
--- a/compute/pzgelqf_param.c
+++ b/compute/pzgelqf_param.c
@@ -87,8 +87,8 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_de
 
     /* Initialisation of tiles */
 
-    tiles = (int*)malloc((qrtree->nt)*sizeof(int));
-    memset( tiles, 0, (qrtree->nt)*sizeof(int) );
+    tiles = (int*)malloc((qrtree->mt)*sizeof(int));
+    memset( tiles, 0, (qrtree->mt)*sizeof(int) );
 
     ws_worker *= sizeof(MORSE_Complex64_t);
     ws_host   *= sizeof(MORSE_Complex64_t);
diff --git a/compute/pzunglq_param.c b/compute/pzunglq_param.c
index 9d265cf441be14525eb942cbb65783498ec6745d..b9e2a4e7f327103baf9c19dcf4736fdfc501f5a0 100644
--- a/compute/pzunglq_param.c
+++ b/compute/pzunglq_param.c
@@ -137,6 +137,7 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des
             else {
                 for (m = k; m < Q->mt; m++) {
                     tempmm = m == Q->mt-1 ? Q->m-m*Q->mb : Q->mb;
+                    ldqm = BLKLDD(Q, m);
                     MORSE_TASK_zttmlq(
                         &options,
                         MorseRight, MorseNoTrans,
diff --git a/compute/pzunmlq_param.c b/compute/pzunmlq_param.c
index cb49ede28a41df7418ea56bed5503107c6845f22..49c48106003b99fb177296f6db6004c80beb1766 100644
--- a/compute/pzunmlq_param.c
+++ b/compute/pzunmlq_param.c
@@ -81,8 +81,8 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree,
 #endif
 
     /* Initialisation of tiles */
-    tiles = (int*)malloc((qrtree->nt)*sizeof(int));
-    memset( tiles, 0, (qrtree->nt)*sizeof(int) );
+    tiles = (int*)malloc((qrtree->mt)*sizeof(int));
+    memset( tiles, 0, (qrtree->mt)*sizeof(int) );
 
     ws_worker *= sizeof(MORSE_Complex64_t);
     ws_host   *= sizeof(MORSE_Complex64_t);