diff --git a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp
index fd856ffbc8fd9ce547e4666fb0eb471dfe413686..8752bbecf4d17c54183babdde52addb24bc7e362 100644
--- a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp
+++ b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp
@@ -660,6 +660,8 @@ class RoeViscousFormEulerianCompositeSolver_v2
                   continue;
                 normal *= 1. / nbnormal;
 
+                normal *= 1. / l2Norm(normal);
+
                 const auto& edge_cell_list = edge_to_cell_matrix[edge_id];
 
                 const auto& edge_local_number_in_its_cells = edge_local_numbers_in_their_cells.itemArray(edge_id);
diff --git a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp
index 934c39b9674a6b258bf1a564eccee21146b30a1a..b164663491b3753fb4a1b49dac507f01c554ce27 100644
--- a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp
+++ b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp
@@ -664,6 +664,9 @@ class RoeViscousFormEulerianCompositeSolver_v2_o2
                 if (nbnormal == 0)
                   continue;
                 normal *= 1. / nbnormal;
+
+                normal *= 1. / l2Norm(normal);
+
                 const auto& edge_cell_list = edge_to_cell_matrix[edge_id];
 
                 const auto& edge_local_number_in_its_cells = edge_local_numbers_in_their_cells.itemArray(edge_id);
diff --git a/src/scheme/RusanovEulerianCompositeSolver_o2.cpp b/src/scheme/RusanovEulerianCompositeSolver_o2.cpp
index 9e59e875db07c820e988da528302ff680cb9c1be..e17e9dc7145e8db3808b972558d3376c572f8f8e 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_o2.cpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_o2.cpp
@@ -333,6 +333,8 @@ class RusanovEulerianCompositeSolver_o2
                   continue;
                 normal *= 1. / nbnormal;
 
+                normal *= 1. / l2Norm(normal);
+
                 const auto& edge_cell_list = edge_to_cell_matrix[edge_id];
 
                 const auto& edge_local_number_in_its_cells = edge_local_numbers_in_their_cells.itemArray(edge_id);
diff --git a/src/scheme/RusanovEulerianCompositeSolver_v2.cpp b/src/scheme/RusanovEulerianCompositeSolver_v2.cpp
index 52269034acfe3179ba76851ad5a627b74d013874..a68b66b90edaf331b23a3d16218d013856f9c1f2 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_v2.cpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_v2.cpp
@@ -323,6 +323,8 @@ class RusanovEulerianCompositeSolver_v2
                   continue;
                 normal *= 1. / nbnormal;
 
+                normal *= 1. / l2Norm(normal);
+
                 const auto& edge_cell_list = edge_to_cell_matrix[edge_id];
 
                 const auto& edge_local_number_in_its_cells = edge_local_numbers_in_their_cells.itemArray(edge_id);
diff --git a/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp b/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp
index 399c0c230d7c5884353ac085675392468481286e..e1c4f46ab1d354587f7e23d54ca430cd0b937b43 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp
@@ -331,6 +331,8 @@ class RusanovEulerianCompositeSolver_v2_o2
                   continue;
                 normal *= 1. / nbnormal;
 
+                normal *= 1. / l2Norm(normal);
+
                 const auto& edge_cell_list = edge_to_cell_matrix[edge_id];
 
                 const auto& edge_local_number_in_its_cells = edge_local_numbers_in_their_cells.itemArray(edge_id);