diff --git a/dune/tectonic/globallaursennonlinearity.hh b/dune/tectonic/globallaursennonlinearity.hh
index 0b69101c1dd557064d93e4859b279e1ac889a8ad..aac6ea2f2556a8cee6cfe22072f921c89ab7fa47 100644
--- a/dune/tectonic/globallaursennonlinearity.hh
+++ b/dune/tectonic/globallaursennonlinearity.hh
@@ -44,8 +44,8 @@ class GlobalLaursenNonlinearity
     coefficient *= (*normalStress)[i];
     coefficient *= 1 + (*mu)[i];
 
-    return make_shared<LocalNonlinearity<dim> const>(
-        make_shared<OuterFunctionType const>(coefficient));
+    auto const func = make_shared<OuterFunctionType const>(coefficient);
+    return make_shared<LocalNonlinearity<dim> const>(func);
   }
 
 private: