diff --git a/compute/zheevd.c b/compute/zheevd.c
index c7f85cce3a699d060a2435344159eda9cf0de509..8094b590b35474f80f0740ba8a04389eeb557b6b 100644
--- a/compute/zheevd.c
+++ b/compute/zheevd.c
@@ -259,10 +259,9 @@ int MORSE_zheevd_Tile(MORSE_enum jobz, MORSE_enum uplo,
     }
     morse_sequence_create(morse, &sequence);
     MORSE_zheevd_Tile_Async(jobz, uplo, A, W, T, sequence, &request);
-    morse_sequence_wait(morse, sequence);
-
     RUNTIME_desc_flush( A, sequence );
     RUNTIME_desc_flush( T, sequence );
+    morse_sequence_wait(morse, sequence);
 
     status = sequence->status;
     morse_sequence_destroy(morse, sequence);
diff --git a/compute/ztile.c b/compute/ztile.c
index 6e1ae38430872ccc643a4ff63a9bf91bf12467ea..5377a78643d356f397c3e46011c097a8113a157d 100644
--- a/compute/ztile.c
+++ b/compute/ztile.c
@@ -83,8 +83,8 @@ int MORSE_zLapack_to_Tile(MORSE_Complex64_t *Af77, int LDA, MORSE_desc_t *A)
 
     morse_pzlapack_to_tile( Af77, LDA, A, sequence, &request);
 
+    RUNTIME_desc_flush( A, sequence );
     RUNTIME_sequence_wait( morse, sequence );
-    RUNTIME_desc_flush( A , sequence );
 
     status = sequence->status;
     morse_sequence_destroy(morse, sequence);
@@ -210,8 +210,9 @@ int MORSE_zTile_to_Lapack(MORSE_desc_t *A, MORSE_Complex64_t *Af77, int LDA)
     morse_sequence_create(morse, &sequence);
 
     morse_pztile_to_lapack( A, Af77, LDA, sequence, &request);
+    RUNTIME_desc_flush( A, sequence );
     RUNTIME_sequence_wait( morse, sequence );
-    RUNTIME_desc_flush( A , sequence );
+
     status = sequence->status;
     morse_sequence_destroy(morse, sequence);
     return status;
diff --git a/include/morse.h b/include/morse.h
index f967dd5c16ee2bcdc507eab4d7b7fc05c3856702..525c27b0671748655578d01f2bcaa5ccebe23c77 100644
--- a/include/morse.h
+++ b/include/morse.h
@@ -114,7 +114,7 @@ int MORSE_Desc_Create_OOC_User(MORSE_desc_t **desc, MORSE_enum dtyp,
 int MORSE_Desc_Destroy (MORSE_desc_t **desc);
 int MORSE_Desc_Acquire (MORSE_desc_t  *desc);
 int MORSE_Desc_Release (MORSE_desc_t  *desc);
-int MORSE_Desc_Flush(MORSE_desc_t  *desc, MORSE_sequence_t *sequence);
+int MORSE_Desc_Flush   (MORSE_desc_t  *desc, MORSE_sequence_t *sequence);
 void MORSE_user_tag_size(int, int) ;
 
 /* Workspaces */