diff --git a/runtime/starpu/codelets/codelet_ztsmqr.c b/runtime/starpu/codelets/codelet_ztsmqr.c
index 7183c7f6f42c97a0ff19fdc165f4a6352c5ccf53..126d6fb89c0d3c51623ac298a2e56d5467740daf 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr.c
@@ -279,7 +279,7 @@ 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);
+    WC = W + ib * (side == MorseLeft ? m1 : n1);
     ldworkc = (side == MorseLeft) ? m1 : ib;
 
     stream = starpu_cuda_get_local_stream();