diff --git a/dune/gfe/assemblers/cosseratenergystiffness.hh b/dune/gfe/assemblers/cosseratenergystiffness.hh
index 9932ba1057a258abfc361201f9b139d4c6727b72..d506ea8d19107f496278806287f39884ee727dba 100644
--- a/dune/gfe/assemblers/cosseratenergystiffness.hh
+++ b/dune/gfe/assemblers/cosseratenergystiffness.hh
@@ -100,6 +100,39 @@ public:
   /** \brief Constructor with a set of material parameters
    * \param parameters The material parameters
    */
+  CosseratEnergyLocalStiffness(const Dune::ParameterTree& parameters)
+  {
+    // The shell thickness // only relevant for dim == 2
+    thickness_ = parameters.template get<double>("thickness");
+
+    // Lame constants
+    mu_ = parameters.template get<double>("mu");
+    lambda_ = parameters.template get<double>("lambda");
+
+    // Cosserat couple modulus
+    mu_c_ = parameters.template get<double>("mu_c");
+
+    // Length scale parameter
+    L_c_ = parameters.template get<double>("L_c");
+
+    // Curvature exponent
+    q_ = parameters.template get<double>("q");
+
+    // Shear correction factor // only relevant for dim == 2
+    kappa_ = parameters.template get<double>("kappa");
+
+    // Curvature parameters
+    b1_ = parameters.template get<double>("b1");
+    b2_ = parameters.template get<double>("b2");
+    b3_ = parameters.template get<double>("b3");
+  }
+
+  /** \brief Constructor with material parameters and external loads
+   * \param parameters The material parameters
+   * \param neumannBoundary The part of the boundary where a surface load is applied
+   * \param neumannFunction Surface load density
+   * \param volumeLoad Volume load density
+   */
   CosseratEnergyLocalStiffness(const Dune::ParameterTree& parameters,
                                const BoundaryPatch<GridView>* neumannBoundary,
                                const std::function<Dune::FieldVector<double,3>(Dune::FieldVector<double,dimworld>)> neumannFunction,
@@ -317,7 +350,7 @@ public:
   double b1_, b2_, b3_;
 
   /** \brief The Neumann boundary */
-  const BoundaryPatch<GridView>* neumannBoundary_;
+  const BoundaryPatch<GridView>* neumannBoundary_ = nullptr;
 
   /** \brief The function implementing the Neumann data */
   const std::function<Dune::FieldVector<double,3>(Dune::FieldVector<double,dimworld>)> neumannFunction_;
diff --git a/test/localadolcstiffnesstest.cc b/test/localadolcstiffnesstest.cc
index 9557f652e536e428e0c71455c971e119e9c175a9..2cd55096f12f9d347cbd5e45b62939032f921b20 100644
--- a/test/localadolcstiffnesstest.cc
+++ b/test/localadolcstiffnesstest.cc
@@ -175,14 +175,14 @@ int main (int argc, char *argv[]) try
   ///////////////////////////////////////////////////////////////////////
 
   // Assembler using ADOL-C
-  auto cosseratLocalEnergy = std::make_shared<CosseratEnergyLocalStiffness<FEBasis, 3,adouble> >(materialParameters, nullptr, nullptr, nullptr);
+  auto cosseratLocalEnergy = std::make_shared<CosseratEnergyLocalStiffness<FEBasis, 3,adouble> >(materialParameters);
 
   LocalGeodesicFEADOLCStiffness<FEBasis,
       TargetSpace> localGFEADOLCStiffness(cosseratLocalEnergy);
 
   // Assembler using finite differences
   CosseratEnergyLocalStiffness<FEBasis, 3,FDType>
-  cosseratEnergyFDLocalStiffness(materialParameters, nullptr, nullptr, nullptr);
+  cosseratEnergyFDLocalStiffness(materialParameters);
   LocalGeodesicFEFDStiffness<FEBasis,
       TargetSpace,
       FDType> localGFEFDStiffness(&cosseratEnergyFDLocalStiffness);