diff --git a/MaterialLib/SolidModels/Ehlers.cpp b/MaterialLib/SolidModels/Ehlers.cpp
index 28adfbd6cae9f8bf251da442a675e9dfd200038c..83995b289553f8be4b9e58939eb92ae414dba657 100644
--- a/MaterialLib/SolidModels/Ehlers.cpp
+++ b/MaterialLib/SolidModels/Ehlers.cpp
@@ -842,6 +842,9 @@ SolidEhlers<DisplacementDim>::getInternalVariables() const
 template class SolidEhlers<2>;
 template class SolidEhlers<3>;
 
+template struct StateVariables<2>;
+template struct StateVariables<3>;
+
 template <>
 MathLib::KelvinVector::KelvinMatrixType<3> sOdotS<3>(
     MathLib::KelvinVector::KelvinVectorType<3> const& v)
diff --git a/MaterialLib/SolidModels/Ehlers.h b/MaterialLib/SolidModels/Ehlers.h
index 9c9d3ec2bfb46ae289249c34fd30af7d27650fd7..d984878cf1397093c1fa8409c7c63f3c80cc43c1 100644
--- a/MaterialLib/SolidModels/Ehlers.h
+++ b/MaterialLib/SolidModels/Ehlers.h
@@ -24,11 +24,10 @@
 
 #include "BaseLib/Error.h"
 #include "MathLib/KelvinVector.h"
+#include "MechanicsBase.h"
 #include "NumLib/NewtonRaphson.h"
 #include "ParameterLib/Parameter.h"
 
-#include "MechanicsBase.h"
-
 namespace MaterialLib
 {
 namespace Solids
@@ -250,8 +249,8 @@ struct StateVariables
     Damage damage_prev;                      ///< \copydoc damage
 
 #ifndef NDEBUG
-    friend std::ostream& operator<<(
-        std::ostream& os, StateVariables<DisplacementDim> const& m)
+    friend std::ostream& operator<<(std::ostream& os,
+                                    StateVariables<DisplacementDim> const& m)
     {
         os << "State:\n"
            << "eps_p_D: " << m.eps_p.D << "\n"
@@ -358,6 +357,9 @@ private:
 
 extern template class SolidEhlers<2>;
 extern template class SolidEhlers<3>;
+
+extern template struct StateVariables<2>;
+extern template struct StateVariables<3>;
 }  // namespace Ehlers
 }  // namespace Solids
 }  // namespace MaterialLib