diff --git a/compute/pzgeqrfrh.c b/compute/pzgeqrfrh.c
index a2ea808b95b26cf679df93e81c1a827e2de1436f..30d6a1273cb8092a41348a6d50c9e222f6773891 100644
--- a/compute/pzgeqrfrh.c
+++ b/compute/pzgeqrfrh.c
@@ -31,8 +31,8 @@
  **/
 #include "control/common.h"
 
-#define A(m,n) A,  (m),  (n)
-#define T(m,n) T,  (m),  (n)
+#define A(m,n)  A,  (m),  (n)
+#define T(m,n)  T,  (m),  (n)
 #define T2(m,n) T,  (m), ((n)+A->nt)
 #if defined(CHAMELEON_COPY_DIAG)
 #define D(m,n) D, ((m)/BS), 0
diff --git a/compute/zgelqf.c b/compute/zgelqf.c
index bcab0855fa87c58f57ba961245b9d0837e5c0559..3e9529bec49c49fe2e0ca6ff823deb97a5aa00a8 100644
--- a/compute/zgelqf.c
+++ b/compute/zgelqf.c
@@ -132,6 +132,7 @@ int MORSE_zgelqf( int M, int N,
     /* Submit the matrix conversion back */
     morse_ztile2lap( morse, &descAl, &descAt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgelqf_param.c b/compute/zgelqf_param.c
index fe0623cb701f9831a7bc00ca19bb0fc6754ccd5c..76e11f6b9d8188026bf96e7bba188440f7c99e3e 100644
--- a/compute/zgelqf_param.c
+++ b/compute/zgelqf_param.c
@@ -129,6 +129,8 @@ int MORSE_zgelqf_param( const libhqr_tree_t *qrtree, int M, int N,
     /* Submit the matrix conversion back */
     morse_ztile2lap( morse, &descAl, &descAt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgelqs.c b/compute/zgelqs.c
index ccf896144f1af0d4f7188ac3f27d91a17d2ea8b1..75bf9db2d3224082a7e6efdf990d0be8bf5916a8 100644
--- a/compute/zgelqs.c
+++ b/compute/zgelqs.c
@@ -152,6 +152,7 @@ int MORSE_zgelqs( int M, int N, int NRHS,
                      MorseDescInput, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgelqs_param.c b/compute/zgelqs_param.c
index ffac93d2ef8e3972741a96e56b75d1cf76e24dca..6171fd70c359c231ab1aea42a150dbf3378bf524 100644
--- a/compute/zgelqs_param.c
+++ b/compute/zgelqs_param.c
@@ -154,6 +154,8 @@ int MORSE_zgelqs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS,
                      MorseDescInput, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgels.c b/compute/zgels.c
index 74d65ca46ff14367be7a567f941a1f87e5e7a15b..22af1ab71d75ffc1404fa5273e3396bda17ca2a0 100644
--- a/compute/zgels.c
+++ b/compute/zgels.c
@@ -194,6 +194,7 @@ int MORSE_zgels( MORSE_enum trans, int M, int N, int NRHS,
                      MorseDescInout, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgels_param.c b/compute/zgels_param.c
index 5619b004a8cb233b87e1bb877440b836f621e1f9..d965a089859f6895bd4398b718ef9725717ec382 100644
--- a/compute/zgels_param.c
+++ b/compute/zgels_param.c
@@ -195,6 +195,8 @@ int MORSE_zgels_param( const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int
                      MorseDescInout, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgeqrf.c b/compute/zgeqrf.c
index 6695351de0915ddcb7d5ff6dde9ba993b9f3b197..e58694721d73319d5616fa6a65152dd9409491a4 100644
--- a/compute/zgeqrf.c
+++ b/compute/zgeqrf.c
@@ -131,6 +131,7 @@ int MORSE_zgeqrf( int M, int N,
     /* Submit the matrix conversion back */
     morse_ztile2lap( morse, &descAl, &descAt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgeqrf_param.c b/compute/zgeqrf_param.c
index 5e5b220f010c1ad2872a461b9df78e5b81167f8f..0586e4630f71296af693bd4384914c7f17eba51d 100644
--- a/compute/zgeqrf_param.c
+++ b/compute/zgeqrf_param.c
@@ -134,6 +134,8 @@ int MORSE_zgeqrf_param( const libhqr_tree_t *qrtree, int M, int N,
     /* Submit the matrix conversion back */
     morse_ztile2lap( morse, &descAl, &descAt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgeqrs.c b/compute/zgeqrs.c
index d8de43c6ebff5b2c2974ca2e9c2babc10cd60d89..db7fb9e7b07b79241d3cf75d0d2d7caa5f1a8a0c 100644
--- a/compute/zgeqrs.c
+++ b/compute/zgeqrs.c
@@ -152,6 +152,7 @@ int MORSE_zgeqrs( int M, int N, int NRHS,
                      MorseDescInput, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgeqrs_param.c b/compute/zgeqrs_param.c
index cd7f17b6b5ec4601db4ac7457bea27eca6f8fb80..26d98eb2893bc1aaf41916c75eb1e32ced3ed951 100644
--- a/compute/zgeqrs_param.c
+++ b/compute/zgeqrs_param.c
@@ -147,6 +147,8 @@ int MORSE_zgeqrs_param( const libhqr_tree_t *qrtree, int M, int N, int NRHS,
                      MorseDescInput, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgesv_incpiv.c b/compute/zgesv_incpiv.c
index 9808488ccec1af2196c74221bbc77c1fced063a3..a3e9c8c3ea5cc665d3b9502be5005de49afcbfa8 100644
--- a/compute/zgesv_incpiv.c
+++ b/compute/zgesv_incpiv.c
@@ -151,6 +151,7 @@ int MORSE_zgesv_incpiv( int N, int NRHS,
                      MorseDescInout, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descL, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgetrf_incpiv.c b/compute/zgetrf_incpiv.c
index 63ead5685f62b5e6c955245aa9ab4cde94bb570d..8c1c9eddfd03f8adb0b8d43354c814ffae378084 100644
--- a/compute/zgetrf_incpiv.c
+++ b/compute/zgetrf_incpiv.c
@@ -133,6 +133,7 @@ int MORSE_zgetrf_incpiv( int M, int N,
     /* Submit the matrix conversion back */
     morse_ztile2lap( morse, &descAl, &descAt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descL, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zgetrs_incpiv.c b/compute/zgetrs_incpiv.c
index f877c8aa38b8d1ab39c86809842803384e53ba85..e22d55f2e54450528b8b5f7052f2d67206b4f39e 100644
--- a/compute/zgetrs_incpiv.c
+++ b/compute/zgetrs_incpiv.c
@@ -157,6 +157,7 @@ int MORSE_zgetrs_incpiv( MORSE_enum trans, int N, int NRHS,
                      MorseDescInput, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descL, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/ztpgqrt.c b/compute/ztpgqrt.c
index d28a530995221f3bd0181658f6e23c836712fd1a..7763b4136f1df1572f2703ef171a70aaeb9938ca 100644
--- a/compute/ztpgqrt.c
+++ b/compute/ztpgqrt.c
@@ -232,6 +232,8 @@ int MORSE_ztpgqrt( int M, int N, int K, int L,
                      MorseDescInout, MorseUpperLower, sequence, &request );
     morse_ztile2lap( morse, &descQ2l, &descQ2t,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT1, sequence );
+    MORSE_Desc_Flush( descT2, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/ztpqrt.c b/compute/ztpqrt.c
index 9f5f60bbffdeac37cbad20448128fae9a053466d..af70716d9b3cd18513b89157ac697bf31383a335 100644
--- a/compute/ztpqrt.c
+++ b/compute/ztpqrt.c
@@ -200,6 +200,7 @@ int MORSE_ztpqrt( int M, int N, int L,
                      MorseDescInout, MorseUpper, sequence, &request );
     morse_ztile2lap( morse, &descBl, &descBt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zunglq.c b/compute/zunglq.c
index f8738d76871d662731b63610adc717d64bd31ffe..ca9ed653bc82d5591bca9c8ebd531e998312e74c 100644
--- a/compute/zunglq.c
+++ b/compute/zunglq.c
@@ -151,6 +151,7 @@ int MORSE_zunglq( int M, int N, int K,
                      MorseDescInput, MorseUpper, sequence, &request );
     morse_ztile2lap( morse, &descQl, &descQt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zunglq_param.c b/compute/zunglq_param.c
index 45110d3f79934e99119b81a80f52fe27e6c8d31b..39f63a41ec8689538136411e8101c335606fa896 100644
--- a/compute/zunglq_param.c
+++ b/compute/zunglq_param.c
@@ -148,6 +148,8 @@ int MORSE_zunglq_param( const libhqr_tree_t *qrtree, int M, int N, int K,
                      MorseDescInput, MorseUpper, sequence, &request );
     morse_ztile2lap( morse, &descQl, &descQt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zungqr.c b/compute/zungqr.c
index 954f2da51d54070bcc6feb12fc1c66aa6d8664ae..331a5b35273439c3f7b1a72449c36f7b101e75c5 100644
--- a/compute/zungqr.c
+++ b/compute/zungqr.c
@@ -150,6 +150,7 @@ int MORSE_zungqr( int M, int N, int K,
                      MorseDescInput, MorseLower, sequence, &request );
     morse_ztile2lap( morse, &descQl, &descQt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zungqr_param.c b/compute/zungqr_param.c
index 8621b7816829436859c3cafe994ad6bbb0f9fc6a..1f70aad4157733970f0099da92c713b3c73e9c84 100644
--- a/compute/zungqr_param.c
+++ b/compute/zungqr_param.c
@@ -149,6 +149,8 @@ int MORSE_zungqr_param( const libhqr_tree_t *qrtree,
                      MorseDescInput, MorseLower, sequence, &request );
     morse_ztile2lap( morse, &descQl, &descQt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zunmlq.c b/compute/zunmlq.c
index 5901868c47a07b34ecc01815c8532909387c8d0d..33e73eb189a895d9ae8df29af0b4561e4e8a50ce 100644
--- a/compute/zunmlq.c
+++ b/compute/zunmlq.c
@@ -188,6 +188,7 @@ int MORSE_zunmlq( MORSE_enum side, MORSE_enum trans, int M, int N, int K,
                      MorseDescInput, MorseUpper, sequence, &request );
     morse_ztile2lap( morse, &descCl, &descCt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zunmlq_param.c b/compute/zunmlq_param.c
index 4a637513666d3b5f5485712645b7cf32d061e6c0..7b46fbb8697c41935890b76f7e9434add080febc 100644
--- a/compute/zunmlq_param.c
+++ b/compute/zunmlq_param.c
@@ -187,6 +187,8 @@ int MORSE_zunmlq_param( const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum
                      MorseDescInput, MorseUpper, sequence, &request );
     morse_ztile2lap( morse, &descCl, &descCt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zunmqr.c b/compute/zunmqr.c
index 7e836f91f1ff8e026496681e9db7d5855aa65e6f..89f33de1d6142a2abb5eced233af1617e080a54c 100644
--- a/compute/zunmqr.c
+++ b/compute/zunmqr.c
@@ -191,6 +191,7 @@ int MORSE_zunmqr( MORSE_enum side, MORSE_enum trans, int M, int N, int K,
                      MorseDescInput, MorseLower, sequence, &request );
     morse_ztile2lap( morse, &descCl, &descCt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descT, sequence );
 
     morse_sequence_wait( morse, sequence );
 
diff --git a/compute/zunmqr_param.c b/compute/zunmqr_param.c
index 45c88e5750f2c250327db48c6a6d2bc714faec2b..f1d31036ba5eb1d42cf832b4c474d3a3a29e744c 100644
--- a/compute/zunmqr_param.c
+++ b/compute/zunmqr_param.c
@@ -192,6 +192,8 @@ int MORSE_zunmqr_param( const libhqr_tree_t *qrtree,
                      MorseDescInput, MorseLower, sequence, &request );
     morse_ztile2lap( morse, &descCl, &descCt,
                      MorseDescInout, MorseUpperLower, sequence, &request );
+    MORSE_Desc_Flush( descTS, sequence );
+    MORSE_Desc_Flush( descTT, sequence );
 
     morse_sequence_wait( morse, sequence );