diff --git a/compute/zgered.c b/compute/zgered.c
index f3783ad3446449be36eb5e0b9f0015ef2a249c60..a58e8f145fa459861008e8600852e9c06878c40f 100644
--- a/compute/zgered.c
+++ b/compute/zgered.c
@@ -13,7 +13,7 @@
  *
  * @version 1.3.0
  * @author Mathieu Faverge
- * @date 2023-07-06
+ * @date 2024-07-17
  * @precisions normal z -> z d
  *
  */
@@ -166,6 +166,15 @@ int CHAMELEON_zgered_Tile_Async( cham_uplo_t uplo, double precision, CHAM_desc_t
         return CHAMELEON_SUCCESS;
     }
 
+    if ( precision < 0. ) {
+        char *algostr = chameleon_getenv( "CHAMELEON_GERED_ACC" );
+        if ( algostr == NULL ) {
+            precision = 1e-12;
+        }
+        else {
+            precision = strtod( algostr, NULL );
+        }
+    }
     chameleon_pzgered( uplo, precision, A, sequence, request );
 
     return CHAMELEON_SUCCESS;
diff --git a/compute/zhered.c b/compute/zhered.c
index 5603ea68b5af7c3b3c013484de60732f47ba372b..32e5c81570689af3e95b69bf65d5129195d76b1d 100644
--- a/compute/zhered.c
+++ b/compute/zhered.c
@@ -167,6 +167,15 @@ int CHAMELEON_zhered_Tile_Async( cham_uplo_t uplo, double precision, CHAM_desc_t
         return CHAMELEON_SUCCESS;
     }
 
+    if ( precision < 0. ) {
+        char *algostr = chameleon_getenv( "CHAMELEON_GERED_ACC" );
+        if ( algostr == NULL ) {
+            precision = 1e-12;
+        }
+        else {
+            precision = strtod( algostr, NULL );
+        }
+    }
     chameleon_pzhered( ChamConjTrans, uplo, precision, A, sequence, request );
 
     return CHAMELEON_SUCCESS;