diff --git a/src/mesh/Connectivity.hpp b/src/mesh/Connectivity.hpp
index 4167f92e667e702bfb0653ed7eea9e5dbdc9defd..566ce48505c23b895466acb98b173098230fde3b 100644
--- a/src/mesh/Connectivity.hpp
+++ b/src/mesh/Connectivity.hpp
@@ -227,14 +227,17 @@ class Connectivity
  public:
   static constexpr size_t dimension = Dimension;
 
-  FaceValuePerCell<bool> m_cell_face_is_reversed;
-
   template <TypeOfItem item_type_0, TypeOfItem item_type_1>
   const ConnectivityMatrix& itemToItemMatrix() const
   {
     return m_item_to_item_matrix[itemId(item_type_0)][itemId(item_type_1)];
   };
 
+  const auto& cellFaceIsReversed() const
+  {
+    return m_cell_face_is_reversed;
+  }
+
   const auto& cellToNodeLocalCell() const
   {
     return m_cell_to_node_local_cell;
@@ -263,6 +266,8 @@ class Connectivity
 private:
   ConnectivityMatrix m_item_to_item_matrix[Dimension+1][Dimension+1];
 
+  FaceValuePerCell<const bool> m_cell_face_is_reversed;
+
   NodeValuePerCell<const unsigned short> m_cell_to_node_local_cell;
 
   CellValuePerFace<const unsigned short> m_face_to_cell_local_face;
diff --git a/src/mesh/MeshData.hpp b/src/mesh/MeshData.hpp
index 9e46108737416efc4d594bda227b52565329c904..fc7bcf66f7072cc7b9cfa3acc3d6dd0339096cb5 100644
--- a/src/mesh/MeshData.hpp
+++ b/src/mesh/MeshData.hpp
@@ -153,11 +153,12 @@ class MeshData
           = getConnectivityMatrix<TypeOfItem::cell,
                                   TypeOfItem::face>(m_mesh.connectivity());
 
+      const auto& cell_face_is_reversed = m_mesh.connectivity().cellFaceIsReversed();
       Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
           const auto& cell_nodes = cell_to_node_matrix.rowConst(j);
 
           const auto& cell_faces = cell_to_face_matrix.rowConst(j);
-          const auto& cell_face_is_reversed = m_mesh.connectivity().m_cell_face_is_reversed.itemValues(j);
+          const auto& face_is_reversed = cell_face_is_reversed.itemValues(j);
 
           for (size_t L=0; L<cell_faces.length; ++L) {
             const size_t l = cell_faces(L);
@@ -175,7 +176,7 @@ class MeshData
                     return std::numeric_limits<size_t>::max();
                   };
 
-            if (cell_face_is_reversed[L]) {
+            if (face_is_reversed[L]) {
               for (size_t rl = 0; rl<face_nodes.length; ++rl) {
                 const size_t R = local_node_number_in_cell(face_nodes(rl));
                 m_Cjr(j, R) -= Nlr(l,rl);