diff --git a/src/petsc4Foam/solvers/petscSolver.C b/src/petsc4Foam/solvers/petscSolver.C
index 4d9d81164c8d903d5c62f1aac885f284877c9f77..7eafe4a37d757fa45e902ff16dcf6e35a1ce6e57 100644
--- a/src/petsc4Foam/solvers/petscSolver.C
+++ b/src/petsc4Foam/solvers/petscSolver.C
@@ -187,7 +187,10 @@ Foam::solverPerformance Foam::petscSolver::solve
         petscDict_.getOrDefault("monitor_foam_residual_norm", false)
     );
 
-
+    // This optimization is disabled since some KSP implementations
+    // are buggy in PETSc wrt KSP_NORM_NONE
+    // users can still provide -ksp_norm_type none at command line
+#if 0
     // Disable KSP default computation of residual norm if we are
     // monitoring convergence a-la OpenFOAM
     if (!usePetscResidualNorm)
@@ -198,6 +201,7 @@ Foam::solverPerformance Foam::petscSolver::solve
     {
         KSPSetNormType(ksp, KSP_NORM_DEFAULT);
     }
+#endif
 
     // ksp set options from db (may change norm type here if needed)
     KSPSetFromOptions(ksp);