diff --git a/runtime/starpu/codelets/codelet_ztsmqr.c b/runtime/starpu/codelets/codelet_ztsmqr.c
index 665628cf4f9283f0dea3bcbe67dd3ebda5b8f590..669b2d1b49e023331771e7fc3ae6e2f2c0d4ce81 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr.c
@@ -281,8 +281,8 @@ static void cl_ztsmqr_cuda_func(void *descr[], void *cl_arg)
     starpu_codelet_unpack_args(cl_arg, &side, &trans, &m1, &n1, &m2, &n2, &k, &ib,
                                &lda1, &lda2, &ldv, &ldt, &ldwork);
 
-    WC = W + ib * (side == MorseLeft ? n1 : m1);
-    ldworkc = (side == MorseLeft) ? m1 : ib;
+    WC = W + ib * (side == MorseLeft ? m1 : n1);
+    ldworkc = (side == MorseLeft) ? m2 : ib;
 
     stream = starpu_cuda_get_local_stream();
     cublasSetKernelStream( stream );