diff --git a/dune/tectonic/frictiondata.hh b/dune/tectonic/frictiondata.hh
index 5f2c43c66a2554ee619f7e32c290b20967c83a04..ee4bde11c654536cd83a36895ce4b564bd30e37f 100644
--- a/dune/tectonic/frictiondata.hh
+++ b/dune/tectonic/frictiondata.hh
@@ -3,9 +3,11 @@
 #include <dune/common/parametertree.hh>
 
 struct FrictionData {
-  explicit FrictionData(double _L, double _V0, double _a, double _b, double _mu0)
-      : L(_L), V0(_V0), a(_a), b(_b), mu0(_mu0) {}
+  explicit FrictionData(double _C, double _L, double _V0, double _a, double _b,
+                        double _mu0)
+      : C(_C), L(_L), V0(_V0), a(_a), b(_b), mu0(_mu0) {}
 
+  double const C;
   double const L;
   double const V0;
   double const a;
diff --git a/dune/tectonic/frictionpotential.hh b/dune/tectonic/frictionpotential.hh
index 03d74518ddb75ca0afd1994f172f8a806f7b8983..e9fe0d5161bf2039604ad83f423c5d744097a09f 100644
--- a/dune/tectonic/frictionpotential.hh
+++ b/dune/tectonic/frictionpotential.hh
@@ -41,7 +41,7 @@ class FrictionPotential : public FrictionPotentialWrapper {
   }
 
   double differential(double V) const {
-    return weight * (-normalStress) * coefficientOfFriction(V);
+    return weight * (fd.C - normalStress * coefficientOfFriction(V));
   }
 
   double second_deriv(double V) const {
diff --git a/dune/tectonic/globalfrictiondata.hh b/dune/tectonic/globalfrictiondata.hh
index 6500352399d898aa8139c76d4b88bea7548ab665..1b2a5bf1b24631e0327f6a1bec95616e8b0766a5 100644
--- a/dune/tectonic/globalfrictiondata.hh
+++ b/dune/tectonic/globalfrictiondata.hh
@@ -18,7 +18,7 @@ double evaluateScalarFunction(
 template <int dimension> class GlobalFrictionData {
 public:
   FrictionData operator()(Dune::FieldVector<double, dimension> const &x) const {
-    return FrictionData(L(), V0(), evaluateScalarFunction(a(), x),
+    return FrictionData(C(), L(), V0(), evaluateScalarFunction(a(), x),
                         evaluateScalarFunction(b(), x), mu0());
   }
 
@@ -26,6 +26,7 @@ template <int dimension> class GlobalFrictionData {
   using VirtualFunction = Dune::VirtualFunction<
       Dune::FieldVector<double, dimension>, Dune::FieldVector<double, 1>>;
 
+  double virtual const &C() const = 0;
   double virtual const &L() const = 0;
   double virtual const &V0() const = 0;
   VirtualFunction virtual const &a() const = 0;
diff --git a/src/myglobalfrictiondata.hh b/src/myglobalfrictiondata.hh
index 43d6b9cfa25d5a697d3f3fc57b0ed8b0a3242515..9215edc5235b9a24755ec76cfca0b49039b024ac 100644
--- a/src/myglobalfrictiondata.hh
+++ b/src/myglobalfrictiondata.hh
@@ -17,12 +17,14 @@ class MyGlobalFrictionData : public GlobalFrictionData<dimension> {
 
 public:
   MyGlobalFrictionData(Dune::ParameterTree const &parset, MyGeometry const &tri)
-      : L_(parset.get<double>("L")),
+      : C_(parset.get<double>("C")),
+        L_(parset.get<double>("L")),
         V0_(parset.get<double>("V0")),
         a_(parset.get<double>("a")),
         b_(parset.get<double>("b")),
         mu0_(parset.get<double>("mu0")) {}
 
+  double virtual const &C() const override { return C_; }
   double virtual const &L() const override { return L_; }
   double virtual const &V0() const override { return V0_; }
   VirtualFunction virtual const &a() const override { return a_; }
@@ -33,6 +35,7 @@ class MyGlobalFrictionData : public GlobalFrictionData<dimension> {
   using MyConstantFunction = ConstantFunction<
       Dune::FieldVector<double, dimension>, Dune::FieldVector<double, 1>>;
 
+  double const C_;
   double const L_;
   double const V0_;
   MyConstantFunction const a_;
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index 182207f087fe580fbd14c9e596a1376468bab398..7f477c4954092efcb41e57409838793827f3a3c9 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -16,6 +16,7 @@ shearViscosity = 0
 bulkViscosity  = 0
 
 [boundary.friction]
+C            = 0.0
 mu0          = 0.6
 a            = 0.010
 b            = 0.015