diff --git a/cudablas/compute/cuda_ztpmqrt.c b/cudablas/compute/cuda_ztpmqrt.c
index 640f9fdc80d4b853de7abcf45b5805cc52dde66a..350dc3df8dd730314599cc023c9228066e8e58ec 100644
--- a/cudablas/compute/cuda_ztpmqrt.c
+++ b/cudablas/compute/cuda_ztpmqrt.c
@@ -48,14 +48,14 @@ CUDA_ztpmqrt( MORSE_enum side, MORSE_enum trans,
         n1 = N;
         ldwork  = IB;
         ldworkc = M;
-        ws = IB * n1;
+        ws = ldwork * n1;
     }
     else {
         m1 = M;
         n1 = K;
         ldwork  = m1;
         ldworkc = IB;
-        ws = IB * m1;
+        ws = ldwork * IB;
     }
 
     /* TS case */