diff --git a/src/mesh/MeshSmoother.cpp b/src/mesh/MeshSmoother.cpp
index 8d81332b797a5825c420b530c85eacc402bb3129..5895feb58b3d2f3eec97a2ae06bbb5840c3f6b78 100644
--- a/src/mesh/MeshSmoother.cpp
+++ b/src/mesh/MeshSmoother.cpp
@@ -172,11 +172,11 @@ class MeshSmootherHandler::MeshSmoother
     parallel_for(
       m_given_mesh.numberOfNodes(), PUGS_LAMBDA(const NodeId node_id) {
         const auto& node_cell_list = node_to_cell_matrix[node_id];
+        Rd mean_position(zero);
+        size_t number_of_neighbours = 0;
 
         for (size_t i_cell = 0; i_cell < node_cell_list.size(); ++i_cell) {
           const size_t i_cell_node = node_number_in_their_cells(node_id, i_cell);
-          Rd mean_position(zero);
-          size_t number_of_neighbours = 0;
 
           const CellId cell_id       = node_cell_list[i_cell];
           const auto& cell_node_list = cell_to_node_matrix[cell_id];
@@ -185,11 +185,16 @@ class MeshSmootherHandler::MeshSmoother
               const NodeId cell_node_id = cell_node_list[i_node];
               mean_position += given_xr[cell_node_id];
               number_of_neighbours++;
+              // std::cout << node_id << " position " << given_xr[node_id] << " position voisin " <<
+              // given_xr[cell_node_id]
+              //           << " mean_position " << mean_position << "\n";
             }
           }
-          mean_position    = 1. / number_of_neighbours * mean_position;
-          shift_r[node_id] = mean_position - given_xr[node_id];
         }
+        mean_position    = 1. / number_of_neighbours * mean_position;
+        shift_r[node_id] = mean_position - given_xr[node_id];
+        // std::cout << " mean position " << mean_position << given_xr[node_id] << "\n";
+
         // double nshift    = sqrt(dot(shift_r[node_id], shift_r[node_id]));
         // if (nshift > max_delta_xr[node_id]) {
         //   shift_r[node_id] = max_delta_xr[node_id] / nshift * shift_r[node_id];