diff --git a/src/scheme/EulerKineticSolver2D.cpp b/src/scheme/EulerKineticSolver2D.cpp
index 6cc316eb8234d6418fc608eed83cc3525468b497..8f7f0af61e0d92441db063036041bcecfb9810e8 100644
--- a/src/scheme/EulerKineticSolver2D.cpp
+++ b/src/scheme/EulerKineticSolver2D.cpp
@@ -275,8 +275,7 @@ class EulerKineticSolver2D
         }
         auto node_boundary = getMeshNodeBoundary(mesh, bc_descriptor->boundaryDescriptor());
 
-        Array<int8_t> is_boundary_cell{p_mesh->numberOfCells()};
-        auto is_boundary_node = p_mesh->connectivity().isBoundaryNode();
+        Array<size_t> is_boundary_cell{p_mesh->numberOfCells()};
 
         is_boundary_cell.fill(0);
 
@@ -290,7 +289,9 @@ class EulerKineticSolver2D
             is_boundary_cell[cell_id] = 1;
           }
         }
+
         size_t nb_boundary_cells = sum(is_boundary_cell);
+
         Array<CellId> cell_list{nb_boundary_cells};
 
         size_t index = 0;
@@ -924,7 +925,6 @@ class EulerKineticSolver2D
   getInflowBoundaryCells(const BoundaryConditionList& bc_list)
   {
     CellValue<bool> is_boundary_cell{p_mesh->connectivity()};
-    auto is_boundary_node = p_mesh->connectivity().isBoundaryNode();
 
     is_boundary_cell.fill(false);
 
diff --git a/src/scheme/EulerKineticSolverMoodFV.cpp b/src/scheme/EulerKineticSolverMoodFV.cpp
index a6e5cc032ad7ec82c3ad09d93953e7a13fe4777a..240591b2c54632eb8fa9d90c414b472175eb3139 100644
--- a/src/scheme/EulerKineticSolverMoodFV.cpp
+++ b/src/scheme/EulerKineticSolverMoodFV.cpp
@@ -1094,7 +1094,7 @@ class EulerKineticSolverMoodFV
         (lambda_vector.size() != Fn_rho_u.size() or (lambda_vector.size() != Fn_rho_u.size()))) {
       throw NormalError("Incompatible dimensions of lambda vector and Fn");
     }
-    m_inv_dx_table = [=] {
+    m_inv_dx_table = [=, this] {
       CellValue<double> inv_dx_table{m_mesh.connectivity()};
       parallel_for(
         m_mesh.numberOfCells(),