diff --git a/dune/mmdg/mmdg.hh b/dune/mmdg/mmdg.hh
index 3b567de885524ab9cfb893ababe42e12390d2fbf..c2040e3d811ba8a29363b9fcb3628431e6aa6754 100644
--- a/dune/mmdg/mmdg.hh
+++ b/dune/mmdg/mmdg.hh
@@ -236,16 +236,22 @@ private:
 
               //quadrature for
               // int_iElem beta * phi_iElem,0 * phi_iElem,i ds
-              Base::A->entry(iElemIdxSLE + i + 1, iElemIdxSLE) += interfaceUpdate;
-              Base::A->entry(iElemIdxSLE, iElemIdxSLE + i + 1) += interfaceUpdate;
+              Base::A->entry(iElemIdxSLE + i + 1, iElemIdxSLE) +=
+                interfaceUpdate;
+              Base::A->entry(iElemIdxSLE, iElemIdxSLE + i + 1) +=
+                interfaceUpdate;
 
               //quadrature for
               // -int_iElem beta * phi_iElem,i * avg(phi_elem,0) ds
               //for elem in {elemIn, elemOut} using a quadrature rule
-              Base::A->entry(elemInIdxSLE, iElemIdxSLE + i + 1) -= couplingUpdate3;
-              Base::A->entry(iElemIdxSLE + i + 1, elemInIdxSLE) -= couplingUpdate3;
-              Base::A->entry(elemOutIdxSLE, iElemIdxSLE + i + 1) -= couplingUpdate3;
-              Base::A->entry(iElemIdxSLE + i + 1, elemOutIdxSLE) -= couplingUpdate3;
+              Base::A->entry(elemInIdxSLE, iElemIdxSLE + i + 1) -=
+                couplingUpdate3;
+              Base::A->entry(iElemIdxSLE + i + 1, elemInIdxSLE) -=
+                couplingUpdate3;
+              Base::A->entry(elemOutIdxSLE, iElemIdxSLE + i + 1) -=
+                couplingUpdate3;
+              Base::A->entry(iElemIdxSLE + i + 1, elemOutIdxSLE) -=
+                couplingUpdate3;
             }
 
             //quadrature for
@@ -265,10 +271,14 @@ private:
             //quadrature for
             // -int_iElem beta * phi_iElem,0 * avg(phi_elem,i) ds
             //for elem in {elemIn, elemOut}
-            Base::A->entry(elemInIdxSLE + i + 1, iElemIdxSLE) -= couplingUpdate2;
-            Base::A->entry(iElemIdxSLE, elemInIdxSLE + i + 1) -= couplingUpdate2;
-            Base::A->entry(elemOutIdxSLE + i + 1, iElemIdxSLE) -= couplingUpdate2;
-            Base::A->entry(iElemIdxSLE, elemOutIdxSLE + i + 1) -= couplingUpdate2;
+            Base::A->entry(elemInIdxSLE + i + 1, iElemIdxSLE) -=
+              couplingUpdate2;
+            Base::A->entry(iElemIdxSLE, elemInIdxSLE + i + 1) -=
+              couplingUpdate2;
+            Base::A->entry(elemOutIdxSLE + i + 1, iElemIdxSLE) -=
+              couplingUpdate2;
+            Base::A->entry(iElemIdxSLE, elemOutIdxSLE + i + 1) -=
+              couplingUpdate2;
           }
         };
 
@@ -470,8 +480,10 @@ private:
             //quadrature for
             // int_iElem (Kpar * grad(d * phi_iElem,i))
             //    * grad(d * phi,iElem,0) ds
-            Base::A->entry(iElemIdxSLE + i + 1, iElemIdxSLE) += interfaceUpdate3;
-            Base::A->entry(iElemIdxSLE, iElemIdxSLE + i + 1) += interfaceUpdate3;
+            Base::A->entry(iElemIdxSLE + i + 1, iElemIdxSLE) +=
+              interfaceUpdate3;
+            Base::A->entry(iElemIdxSLE, iElemIdxSLE + i + 1) +=
+              interfaceUpdate3;
 
             //quadrature for
             // int_iElem (Kpar * grad(d * phi_iElem,i))
diff --git a/dune/mmdg/problems/mmdgproblem6.hh b/dune/mmdg/problems/mmdgproblem6.hh
index ea581e748a53399d1dbdcfdee6dd6d6cbdd57919..f7b4ce1d86cb3c62fc280f4ef8b32a681e386065 100644
--- a/dune/mmdg/problems/mmdgproblem6.hh
+++ b/dune/mmdg/problems/mmdgproblem6.hh
@@ -17,7 +17,7 @@ public:
   //the exact bulk solution at position pos
   Scalar exactSolution (const Coordinate& pos) const
   {
-    Scalar xArg = (pos[0] > 0.5) ? sqrt(2.0) * (2.0 * pos[0] - 1.0)
+    Scalar xArg = (pos[0] < 0.5) ? sqrt(2.0) * (2.0 * pos[0] - 1.0)
       : sqrt(2.0) * (2.0 * pos[0] + 1.0);
 
     return std::cos(4.0 * pos[1]) * std::cosh(xArg);
@@ -26,14 +26,7 @@ public:
   //the exact solution on the interface at position pos
   Scalar exactInterfaceSolution (const Coordinate& pos) const
   {
-    constexpr Scalar coshsqrt2 = std::cosh(sqrt(2.0));
-
-    return ( coshsqrt2 * coshsqrt2 - 0.5 * std::sinh(2.0 * sqrt(2.0))
-      * std::tanh(2.0 * sqrt(2.0)) ) * std::cos(4.0 * pos[1]);
-
-    return 0.5 * coshsqrt2 * coshsqrt2 * (2.0 - sqrt(2.0)) * std::cos(4.0 * pos[1]);
-
-    return ( coshsqrt2 * coshsqrt2 - 1.0 ) * std::cos(4.0 * pos[1]);
+    return std::cos(4.0 * pos[1]);
   }
 
   //indicates whether an exact solution is implemented for the problem
@@ -45,33 +38,20 @@ public:
   //source term at position pos
   Scalar q (const Coordinate& pos) const
   {
-    Scalar xArg = (pos[0] > 0.5) ? sqrt(2.0) * (2.0 * pos[0] - 1.0)
+    Scalar xArg = (pos[0] < 0.5) ? sqrt(2.0) * (2.0 * pos[0] - 1.0)
       : sqrt(2.0) * (2.0 * pos[0] + 1.0);
 
     return 8.0 * std::cos(4.0 * pos[1]) * std::cosh(xArg);
-    return 8.0 * std::cos(4.0 * pos[1]) * (2.0 * std::cosh(xArg)
-      - std::sinh(xArg));
   }
 
   //interface source term at position pos
   Scalar qInterface (const Coordinate& pos) const
   {
-    constexpr Scalar coshsqrt2 = std::cosh(sqrt(2.0));
-
-    return -16.0 * d0_ * d0_ * ( coshsqrt2 * coshsqrt2 - 0.5 * std::sinh(2.0 * sqrt(2.0))
-      * std::tanh(2.0 * sqrt(2.0)) ) * std::exp(-8.0 * pos[1]) * ( std::cos(4.0 * pos[1])
-    + 3.0 * std::sin(4.0 * pos[1])) - 2.0 * sqrt(2.0) * std::sinh(2.0 * sqrt(2.0)) * std::cos(4.0 * pos[1]);
-
-
-    return 8.0 * d0_ * d0_ * coshsqrt2 * coshsqrt2 * (sqrt(2.0) - 2.0)
-      * std::exp(-8.0 * pos[1]) * ( std::cos(4.0 * pos[1])
-      + 3.0 * std::sin(4.0 * pos[1]) )
-      - 2.0 * sqrt(2.0) * std::sinh(2.0 * sqrt(2.0)) * std::cos(4.0 * pos[1]);
+    const Scalar cos4y = std::cos(4.0 * pos[1]);
+    constexpr Scalar sqrt2 = 2.0 * sqrt(2.0);
 
-    return 16.0 * d0_ * d0_ * ( 1.0 - coshsqrt2 * coshsqrt2 )
-      * std::exp(-8.0 * pos[1]) * ( std::cos(4.0 * pos[1])
-      + 3.0 * std::sin(4.0 * pos[1]) )
-      - 2.0 * sqrt(2.0) * std::sinh(2.0 * sqrt(2.0)) * std::cos(4.0 * pos[1]);
+    return -48.0 * d0_ * d0_ * std::exp(-8.0 * pos[1]) * ( cos4y
+      + 3.0 * std::sin(4.0 * pos[1]) ) - sqrt2 * std::sinh(sqrt2) * cos4y;
   }
 
   //aperture d of the fracture at position pos
@@ -93,7 +73,6 @@ public:
   Scalar Kperp (const Coordinate& pos) const
   {
     return sqrt(2.0) / std::tanh(sqrt(2.0));
-    return 2.0 * sqrt(2.0) * std::sinh(2.0 * sqrt(2.0));
   }
 
   //returns the recommended quadrature order to compute an integral