diff --git a/src/scheme/ImplicitAcousticSolver.cpp b/src/scheme/ImplicitAcousticSolver.cpp
index f823c1b8fb6124b1b45cc25b4ee5fb7d8df9ec7c..350f34d9be403e64170d7e915cc5e24d3fcd15b1 100644
--- a/src/scheme/ImplicitAcousticSolver.cpp
+++ b/src/scheme/ImplicitAcousticSolver.cpp
@@ -1950,7 +1950,9 @@ class ImplicitAcousticSolverHandler::ImplicitAcousticSolver final
         // const auto& cell_nodes = cell_to_node_matrix[j];
         // V_j^n+1/tau_j^n+1 - M_j
         //        sum_tau_rho += std::abs(new_tau[j] - 1. / new_rho[j]);
-        max_tau_error = std::max(max_tau_error, std::abs(1 - new_tau[j] * new_rho[j]));
+        if (m_is_implicit_cell[j]) {
+          max_tau_error = std::max(max_tau_error, std::abs(1 - new_tau[j] * new_rho[j]));
+        }
       }
       // std::cout << "sum_tau_rho  =" << sum_tau_rho << '\n';
       // std::cout << "max_tau_error=" << max_tau_error << '\n';