diff --git a/testing/testing_zunglq.c b/testing/testing_zunglq.c
index 6e2aa96a15f96c1c0e095ba068475397fa3907e4..63bc4daeed11fbaa3c2a551af9f5588d4d30876e 100644
--- a/testing/testing_zunglq.c
+++ b/testing/testing_zunglq.c
@@ -80,6 +80,12 @@ testing_zunglq_desc( run_arg_list_t *args, int check )
     /* Fills the matrix with random values */
     CHAMELEON_zplrnt_Tile( descA, seedA );
     hres = CHAMELEON_zgelqf_Tile( descA, descT );
+    if ( hres != CHAMELEON_SUCCESS ) {
+        CHAMELEON_Desc_Flush( descA, test_data.sequence );
+        CHAMELEON_Desc_Flush( descT, test_data.sequence );
+        CHAMELEON_Desc_Flush( descQ, test_data.sequence );
+        return hres;
+    }
 
     /* Calculates the solution */
     testing_start( &test_data );
diff --git a/testing/testing_zunglq_hqr.c b/testing/testing_zunglq_hqr.c
index e55034cd05d65e1af0279ee6cf9f66e74916ce94..63f922a7eaf4c6201287d7df1b7e8201b9cb7316 100644
--- a/testing/testing_zunglq_hqr.c
+++ b/testing/testing_zunglq_hqr.c
@@ -87,6 +87,13 @@ testing_zunglq_hqr_desc( run_arg_list_t *args, int check )
     /* Fills the matrix with random values */
     CHAMELEON_zplrnt_Tile( descA, seedA );
     hres = CHAMELEON_zgelqf_param_Tile( &qrtree, descA, descTS, descTT );
+    if ( hres != CHAMELEON_SUCCESS ) {
+        CHAMELEON_Desc_Flush( descA, test_data.sequence );
+        CHAMELEON_Desc_Flush( descTS, test_data.sequence );
+        CHAMELEON_Desc_Flush( descTT, test_data.sequence );
+        CHAMELEON_Desc_Flush( descQ, test_data.sequence );
+        return hres;
+    }
 
     /* Calculates the solution */
     testing_start( &test_data );
diff --git a/testing/testing_zungqr.c b/testing/testing_zungqr.c
index fae6002db07acb71f3105d08f49e9ffd570402d7..1a719e929650901f75eafad5efa63fa136f8587f 100644
--- a/testing/testing_zungqr.c
+++ b/testing/testing_zungqr.c
@@ -80,6 +80,12 @@ testing_zungqr_desc( run_arg_list_t *args, int check )
     /* Fills the matrix with random values */
     CHAMELEON_zplrnt_Tile( descA, seedA );
     hres = CHAMELEON_zgeqrf_Tile( descA, descT );
+    if ( hres != CHAMELEON_SUCCESS ) {
+        CHAMELEON_Desc_Flush( descA, test_data.sequence );
+        CHAMELEON_Desc_Flush( descT, test_data.sequence );
+        CHAMELEON_Desc_Flush( descQ, test_data.sequence );
+        return hres;
+    }
 
     /* Calculates the solution */
     testing_start( &test_data );
diff --git a/testing/testing_zungqr_hqr.c b/testing/testing_zungqr_hqr.c
index 8935e0f7a1ec37784379843ac539a31431f2fac3..e8f26af0596fb8f26710c28a166cba1b82a67101 100644
--- a/testing/testing_zungqr_hqr.c
+++ b/testing/testing_zungqr_hqr.c
@@ -87,6 +87,13 @@ testing_zungqr_hqr_desc( run_arg_list_t *args, int check )
     /* Fills the matrix with random values */
     CHAMELEON_zplrnt_Tile( descA, seedA );
     hres = CHAMELEON_zgeqrf_param_Tile( &qrtree, descA, descTS, descTT );
+    if ( hres != CHAMELEON_SUCCESS ) {
+        CHAMELEON_Desc_Flush( descA, test_data.sequence );
+        CHAMELEON_Desc_Flush( descTS, test_data.sequence );
+        CHAMELEON_Desc_Flush( descTT, test_data.sequence );
+        CHAMELEON_Desc_Flush( descQ, test_data.sequence );
+        return hres;
+    }
 
     /* Calculates the solution */
     testing_start( &test_data );