diff --git a/compute/pzunmlqrh.c b/compute/pzunmlqrh.c
index cdf7dd9b8ee0dfb2c0489b607bda2de8c901c6f8..213b1409eb0cb0b1a38b899ea106261fb500f132 100644
--- a/compute/pzunmlqrh.c
+++ b/compute/pzunmlqrh.c
@@ -466,7 +466,7 @@ void chameleon_pzunmlqrh( int genD, int BS, cham_side_t side, cham_trans_t trans
                 for (RD = BS; RD < C->nt-k; RD *= 2) {
                     for (p = k; p+RD < C->nt; p += 2*RD) {
                         n = p + RD;
-                        tempnn = n == C->mt-1 ? C->m-n*C->mb : C->mb;
+                        tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb;
 
                         for (m = 0; m < C->mt; m++) {
                             tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb;
diff --git a/compute/pzunmqrrh.c b/compute/pzunmqrrh.c
index 8eda28189e83810f173e2634160905c8f5101661..0a61f51ddaa8c9357e24f67e72f924c9c9bac64d 100644
--- a/compute/pzunmqrrh.c
+++ b/compute/pzunmqrrh.c
@@ -465,7 +465,7 @@ void chameleon_pzunmqrrh( int genD, int BS, cham_side_t side, cham_trans_t trans
                 for (RD = BS; RD < C->nt-k; RD *= 2) {
                     for (p = k; p+RD < C->nt; p += 2*RD) {
                         n = p + RD;
-                        tempnn = n == C->mt-1 ? C->m-n*C->mb : C->mb;
+                        tempnn = n == C->nt-1 ? C->n-n*C->nb : C->nb;
 
                         for (m = 0; m < C->mt; m++) {
                             tempmm = m == C->mt-1 ? C->m-m*C->mb : C->mb;