diff --git a/dune/tectonic/globalruinanonlinearity.hh b/dune/tectonic/globalruinanonlinearity.hh
index 6bef784ccdacc2d9870d6124d358924b637c7891..a4fb93042e9406a7d03f58bda810b8379d44f103 100644
--- a/dune/tectonic/globalruinanonlinearity.hh
+++ b/dune/tectonic/globalruinanonlinearity.hh
@@ -29,9 +29,12 @@ class GlobalRuinaNonlinearity : public Dune::GlobalNonlinearity<dim> {
     Return a restriction of the outer function to the i'th node.
   */
   virtual Dune::NiceFunction *restriction(int i) const {
-    return new Dune::RuinaFunction(nodalIntegrals[i][0], a[i],
-                                   coefficientOfFriction[i], eta[i],
-                                   normalStress[i]);
+    if (nodalIntegrals[i][0] == 0)
+      return new Dune::TrivialFunction();
+    else
+      return new Dune::RuinaFunction(nodalIntegrals[i][0], a[i],
+                                     coefficientOfFriction[i], eta[i],
+                                     normalStress[i]);
   }
 
 private: