diff --git a/src/assemblers.cc b/src/assemblers.cc
index 347a84810723766feac0b19afd46966b886a9eeb..1527c7906f03b23a1d665aeb096eb47e3e70d034 100644
--- a/src/assemblers.cc
+++ b/src/assemblers.cc
@@ -57,7 +57,8 @@ Dune::shared_ptr<Dune::GlobalNonlinearity<MatrixType, VectorType> const>
 assemble_nonlinearity(
     Dune::ParameterTree const &parset,
     Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,
-    Dune::BlockVector<Dune::FieldVector<double, 1>> const &state) {
+    Dune::BlockVector<Dune::FieldVector<double, 1>> const &state,
+    double scalarNormalStress) {
   auto const size = nodalIntegrals.size();
 
   typedef Dune::BlockVector<Dune::FieldVector<double, 1>> SingletonVectorType;
@@ -66,7 +67,7 @@ assemble_nonlinearity(
   mu = parset.get<double>("mu");
 
   SingletonVectorType normalStress(size);
-  normalStress = parset.get<double>("normalstress");
+  normalStress = scalarNormalStress;
 
   switch (parset.get<Config::model>("model")) {
     case Config::Exponential: {
diff --git a/src/assemblers.hh b/src/assemblers.hh
index e5d8b316bbfa75b8610ed0e8af6e24547c5540d5..12b49c1fde2b7daf5ed0efeadfb3a1e8350bf9e0 100644
--- a/src/assemblers.hh
+++ b/src/assemblers.hh
@@ -27,6 +27,7 @@ Dune::shared_ptr<Dune::GlobalNonlinearity<MatrixType, VectorType> const>
 assemble_nonlinearity(
     Dune::ParameterTree const &parset,
     Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,
-    Dune::BlockVector<Dune::FieldVector<double, 1>> const &state);
+    Dune::BlockVector<Dune::FieldVector<double, 1>> const &state,
+    double scalarNormalStress);
 
 #endif
diff --git a/src/assemblers_tmpl.cc b/src/assemblers_tmpl.cc
index af3ff384ad23ea04e1333fc07ae44033883cb21b..f40d6c099af337fe1935a5271a4e318299f482cd 100644
--- a/src/assemblers_tmpl.cc
+++ b/src/assemblers_tmpl.cc
@@ -32,4 +32,5 @@ template Dune::shared_ptr<
 assemble_nonlinearity<MatrixType, VectorType>(
     Dune::ParameterTree const &parset,
     Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,
-    Dune::BlockVector<Dune::FieldVector<double, 1>> const &state);
+    Dune::BlockVector<Dune::FieldVector<double, 1>> const &state,
+    double scalarNormalStress);
diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 717c2619a20ebfb3ab3047c91762008e8c03b785..a3d4c215abf50822c7f2b6ded901b0a474081553 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -167,6 +167,7 @@ int main(int argc, char *argv[]) {
     P0Basis const p0Basis(leafView);
     P1Basis const p1Basis(leafView);
 
+    double normalStress;
     MatrixType massMatrix;
     VectorType gravityFunctional;
     {
@@ -190,8 +191,7 @@ int main(int argc, char *argv[]) {
           area *= (upperRight[i] - lowerLeft[i]);
 
       double const gravity = 9.81;
-      double const normalStress =
-          parset.get<double>("boundary.friction.normalstress");
+      normalStress = parset.get<double>("boundary.friction.normalstress");
 
       // rho    = sigma     * A       / V   / g
       // kg/m^d = N/m^(d-1) * m^(d-1) / m^d / (N/kg)
@@ -344,7 +344,8 @@ int main(int argc, char *argv[]) {
         for (size_t state_fpi = 1; state_fpi <= state_fpi_max; ++state_fpi) {
           auto myGlobalNonlinearity =
               assemble_nonlinearity<MatrixType, VectorType>(
-                  parset.sub("boundary.friction"), *nodalIntegrals, alpha);
+                  parset.sub("boundary.friction"), *nodalIntegrals, alpha,
+                  normalStress);
 
           MyConvexProblemType const myConvexProblem(
               problem_A, *myGlobalNonlinearity, problem_rhs);