diff --git a/ProcessLib/Utils/LocalDataInitializer.h b/ProcessLib/Utils/LocalDataInitializer.h
index a3245c284af244b86ac888d2348b44a556795542..ac139a3d6f6cf953ce06325599e937051951afa2 100644
--- a/ProcessLib/Utils/LocalDataInitializer.h
+++ b/ProcessLib/Utils/LocalDataInitializer.h
@@ -126,166 +126,100 @@ class LocalDataInitializer final
 public:
     using LADataIntfPtr = std::unique_ptr<LocalAssemblerInterface>;
 
-    LocalDataInitializer(NumLib::LocalToGlobalIndexMap const& dof_table,
-                         const unsigned shapefunction_order)
+    explicit LocalDataInitializer(NumLib::LocalToGlobalIndexMap const& dof_table)
         : _dof_table(dof_table)
     {
-        if (shapefunction_order < 1 || 2 < shapefunction_order)
-            OGS_FATAL("The given shape function order {:d} is not supported",
-                      shapefunction_order);
-
-        if (shapefunction_order == 1)
-        {
-            // /// Lines and points ///////////////////////////////////
+        // /// Lines and points ///////////////////////////////////
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_LINE) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 1 && OGS_MAX_ELEMENT_ORDER >= 1
-            _builder[std::type_index(typeid(MeshLib::Line))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeLine2>();
+        _builder[std::type_index(typeid(MeshLib::Line))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeLine2>();
 #endif
-
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_LINE) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 1 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Line3))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeLine2>();
+        _builder[std::type_index(typeid(MeshLib::Line3))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeLine3>();
 #endif
 
-            // /// Quads and Hexahedra ///////////////////////////////////
+        // /// Quads and Hexahedra ///////////////////////////////////
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_QUAD) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 2 && OGS_MAX_ELEMENT_ORDER >= 1
-            _builder[std::type_index(typeid(MeshLib::Quad))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeQuad4>();
+        _builder[std::type_index(typeid(MeshLib::Quad))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeQuad4>();
 #endif
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_CUBOID) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 1
-            _builder[std::type_index(typeid(MeshLib::Hex))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeHex8>();
+        _builder[std::type_index(typeid(MeshLib::Hex))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeHex8>();
 #endif
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_QUAD) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 2 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Quad8))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeQuad4>();
-            _builder[std::type_index(typeid(MeshLib::Quad9))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeQuad4>();
+        _builder[std::type_index(typeid(MeshLib::Quad8))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeQuad8>();
+        _builder[std::type_index(typeid(MeshLib::Quad9))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeQuad9>();
 #endif
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_CUBOID) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Hex20))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeHex8>();
+        _builder[std::type_index(typeid(MeshLib::Hex20))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeHex20>();
 #endif
 
-            // /// Simplices ////////////////////////////////////////////////
+        // /// Simplices ////////////////////////////////////////////////
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_TRI) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 2 && OGS_MAX_ELEMENT_ORDER >= 1
-            _builder[std::type_index(typeid(MeshLib::Tri))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeTri3>();
+        _builder[std::type_index(typeid(MeshLib::Tri))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeTri3>();
 #endif
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_SIMPLEX) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 1
-            _builder[std::type_index(typeid(MeshLib::Tet))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeTet4>();
+        _builder[std::type_index(typeid(MeshLib::Tet))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeTet4>();
 #endif
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_TRI) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 2 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Tri6))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeTri3>();
+        _builder[std::type_index(typeid(MeshLib::Tri6))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeTri6>();
 #endif
-
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_SIMPLEX) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Tet10))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeTet4>();
+        _builder[std::type_index(typeid(MeshLib::Tet10))] =
+            makeLocalAssemblerBuilder<NumLib::ShapeTet10>();
 #endif
 
-            // /// Prisms ////////////////////////////////////////////////////
+        // /// Prisms ////////////////////////////////////////////////////
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_PRISM) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 1
-            _builder[std::type_index(typeid(MeshLib::Prism))] =
-                makeLocalAssemblerBuilder<NumLib::ShapePrism6>();
+        _builder[std::type_index(typeid(MeshLib::Prism))] =
+            makeLocalAssemblerBuilder<NumLib::ShapePrism6>();
 #endif
-
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_PRISM) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Prism15))] =
-                makeLocalAssemblerBuilder<NumLib::ShapePrism6>();
+        _builder[std::type_index(typeid(MeshLib::Prism15))] =
+            makeLocalAssemblerBuilder<NumLib::ShapePrism15>();
 #endif
 
-            // /// Pyramids //////////////////////////////////////////////////
+        // /// Pyramids //////////////////////////////////////////////////
 
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_PYRAMID) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 1
-            _builder[std::type_index(typeid(MeshLib::Pyramid))] =
-                makeLocalAssemblerBuilder<NumLib::ShapePyra5>();
-#endif
-
-#if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_PYRAMID) != 0 && \
-    OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Pyramid13))] =
-                makeLocalAssemblerBuilder<NumLib::ShapePyra5>();
-#endif
-        }
-        else if (shapefunction_order == 2)
-        {
-#if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_LINE) != 0 && \
-    OGS_MAX_ELEMENT_DIM >= 1 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Line3))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeLine3>();
-#endif
-
-            // /// Quads and Hexahedra ///////////////////////////////////
-
-#if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_QUAD) != 0 && \
-    OGS_MAX_ELEMENT_DIM >= 2 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Quad8))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeQuad8>();
-            _builder[std::type_index(typeid(MeshLib::Quad9))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeQuad9>();
-#endif
-
-#if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_CUBOID) != 0 && \
-    OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Hex20))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeHex20>();
-#endif
-
-            // /// Simplices ////////////////////////////////////////////////
-
-#if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_TRI) != 0 && \
-    OGS_MAX_ELEMENT_DIM >= 2 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Tri6))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeTri6>();
-#endif
-
-#if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_SIMPLEX) != 0 && \
-    OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Tet10))] =
-                makeLocalAssemblerBuilder<NumLib::ShapeTet10>();
-#endif
-
-            // /// Prisms ////////////////////////////////////////////////////
-
-#if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_PRISM) != 0 && \
-    OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Prism15))] =
-                makeLocalAssemblerBuilder<NumLib::ShapePrism15>();
+        _builder[std::type_index(typeid(MeshLib::Pyramid))] =
+            makeLocalAssemblerBuilder<NumLib::ShapePyra5>();
 #endif
-
-            // /// Pyramids //////////////////////////////////////////////////
-
 #if (OGS_ENABLED_ELEMENTS & ENABLED_ELEMENT_TYPE_PYRAMID) != 0 && \
     OGS_MAX_ELEMENT_DIM >= 3 && OGS_MAX_ELEMENT_ORDER >= 2
-            _builder[std::type_index(typeid(MeshLib::Pyramid13))] =
-                makeLocalAssemblerBuilder<NumLib::ShapePyra13>();
+        _builder[std::type_index(typeid(MeshLib::Pyramid13))] =
+            makeLocalAssemblerBuilder<NumLib::ShapePyra13>();
 #endif
-        }
     }
 
     /// Returns data pointer to the newly created local assembler data.