diff --git a/NonLinearSolver/modelReduction/Tree.cpp b/NonLinearSolver/modelReduction/Tree.cpp
index 0460ae75ced60f8485b76738ac700792093a13df..953615dbc3aecfd6eff268d0cab2a2688fee5fc2 100644
--- a/NonLinearSolver/modelReduction/Tree.cpp
+++ b/NonLinearSolver/modelReduction/Tree.cpp
@@ -1403,7 +1403,8 @@ bool Tree::removeLeavesWithZeroContribution(double tol)
       Msg::Error("removeLeavesWithZeroContribution: maximal number of iterations (%d) reaches", maxIterRemove);
       Msg::Exit(0);
     }
-    bool okLeaf = removeZeroBranches(tol);
+    //bool okLeaf = removeZeroBranches(tol);
+    bool okLeaf = removeZeroLeaves(tol,true);
     bool okMerge = treeMerging();
     // check
     if (okLeaf || okLeaf)