diff --git a/NumLib/Extrapolation/ExtrapolatableElement.h b/NumLib/Extrapolation/ExtrapolatableElement.h
index 4a231fc49013b2faf9e3caddc0fc7ebfbb734801..6a666abe8cb4aa3555a09aace876ec725d5a2710 100644
--- a/NumLib/Extrapolation/ExtrapolatableElement.h
+++ b/NumLib/Extrapolation/ExtrapolatableElement.h
@@ -24,7 +24,7 @@ class ExtrapolatableElement
 {
 public:
     //! Provides the shape matrix at the given integration point.
-    virtual Eigen::Map<const Eigen::VectorXd> getShapeMatrix(
+    virtual Eigen::Map<const Eigen::RowVectorXd> getShapeMatrix(
         const unsigned integration_point) const = 0;
 
     virtual ~ExtrapolatableElement() = default;
diff --git a/NumLib/Extrapolation/ExtrapolatableElementCollection.h b/NumLib/Extrapolation/ExtrapolatableElementCollection.h
index 7be326d3faa881d6018cf2d57cb4bb35b62ab9b5..ffd65289081e9447b1c10092b7e458fcf02b929b 100644
--- a/NumLib/Extrapolation/ExtrapolatableElementCollection.h
+++ b/NumLib/Extrapolation/ExtrapolatableElementCollection.h
@@ -21,7 +21,7 @@ class ExtrapolatableElementCollection
 public:
     //! Returns the shape matrix of the element with the given \c id at the
     //! given \c integration_point.
-    virtual Eigen::Map<const Eigen::VectorXd> getShapeMatrix(
+    virtual Eigen::Map<const Eigen::RowVectorXd> getShapeMatrix(
         std::size_t const id, unsigned const integration_point) const = 0;
 
     //! Returns integration point values of some property of the element with
@@ -85,7 +85,7 @@ public:
     {
     }
 
-    Eigen::Map<const Eigen::VectorXd> getShapeMatrix(
+    Eigen::Map<const Eigen::RowVectorXd> getShapeMatrix(
         std::size_t const id, unsigned const integration_point) const override
     {
         ExtrapolatableElement const& loc_asm = *_local_assemblers[id];
diff --git a/NumLib/Extrapolation/Extrapolator.h b/NumLib/Extrapolation/Extrapolator.h
index ee21daa77840a18042fd9e446290d235ed275fa4..cee424b32b95a49bb7d4f98330023660decbd3c3 100644
--- a/NumLib/Extrapolation/Extrapolator.h
+++ b/NumLib/Extrapolation/Extrapolator.h
@@ -14,6 +14,7 @@
 
 #include <Eigen/Eigen>
 #include "NumLib/NumericsConfig.h"
+#include "ExtrapolatableElementCollection.h"
 
 namespace NumLib
 {
diff --git a/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h b/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h
index 425c20b8b9cdabc1812964aed3aea406902b0410..6ca58b6ae4098e6ad4d3873c618948c8c63a7c8e 100644
--- a/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h
+++ b/ProcessLib/GroundwaterFlow/GroundwaterFlowFEM.h
@@ -12,6 +12,7 @@
 
 #include <vector>
 
+#include "NumLib/Extrapolation/ExtrapolatableElement.h"
 #include "NumLib/Fem/FiniteElement/TemplateIsoparametric.h"
 #include "NumLib/Fem/ShapeMatrixPolicy.h"
 #include "ProcessLib/LocalAssemblerInterface.h"
diff --git a/ProcessLib/TES/TESLocalAssembler.h b/ProcessLib/TES/TESLocalAssembler.h
index 72efb4ea24edfb8b16dbf1c2bd224e0d16b7057b..1826b2c6f4cc2fec5448b5559c80aa37d3c914b5 100644
--- a/ProcessLib/TES/TESLocalAssembler.h
+++ b/ProcessLib/TES/TESLocalAssembler.h
@@ -14,11 +14,10 @@
 #include <vector>
 
 #include "ProcessLib/LocalAssemblerInterface.h"
+#include "NumLib/Extrapolation/ExtrapolatableElement.h"
 #include "TESAssemblyParams.h"
 #include "TESLocalAssemblerInner-fwd.h"
 
-#include "NumLib/Extrapolation/ExtrapolatableElement.h"
-
 namespace ProcessLib
 {
 namespace TES