diff --git a/dune/gfe/cosseratenergystiffness.hh b/dune/gfe/cosseratenergystiffness.hh
index 5b55939680cd79da95eaed23be57123f62827164..29503a150d99eccf9bdbe530030f752068c5841a 100644
--- a/dune/gfe/cosseratenergystiffness.hh
+++ b/dune/gfe/cosseratenergystiffness.hh
@@ -16,6 +16,8 @@
 
 #define DONT_USE_CURL
 
+//#define QUADRATIC_MEMBRANE_ENERGY
+
 
 template<class GridView, class LocalFiniteElement, int dim>
 class CosseratEnergyLocalStiffness 
@@ -525,8 +527,12 @@ energy(const Entity& element,
         
         // Add the local energy density
         if (gridDim==2) {
+#ifdef QUADRATIC_MEMBRANE_ENERGY
             //energy += weight * thickness_ * quadraticMembraneEnergy(U);
             energy += weight * thickness_ * longQuadraticMembraneEnergy(U);
+#else
+            energy += weight * thickness_ * nonquadraticMembraneEnergy(U);
+#endif
             energy += weight * thickness_ * curvatureEnergy(DR);
             energy += weight * std::pow(thickness_,3) / 12.0 * bendingEnergy(R,DR);
         } else if (gridDim==3) {
@@ -953,7 +959,11 @@ assembleGradient(const Entity& element,
             // Add the local energy density
             if (gridDim==2) {
                 typename TargetSpace::EmbeddedTangentVector tmp(0);
+#ifdef QUADRATIC_MEMBRANE_ENERGY
                 longQuadraticMembraneEnergyGradient(tmp,R,dR_dv,derivative,derOfGradientWRTCoefficient,U);
+#else
+                nonquadraticMembraneEnergyGradient(tmp,R,dR_dv,derivative,derOfGradientWRTCoefficient,U);
+#endif
                 embeddedLocalGradient[i].axpy(weight * thickness_, tmp);
                 
                 tmp = 0;