diff --git a/dirneucoupling.cc b/dirneucoupling.cc
index 9e6062cdd84926fd70d81b882ea1c5be722523c8..1146d64e5ea62ee676ae8f7ac81ca35ea91ff236 100644
--- a/dirneucoupling.cc
+++ b/dirneucoupling.cc
@@ -356,7 +356,8 @@ int main (int argc, char *argv[]) try
 
         for (int j=0; j<dim; j++)
             lambda.r[j] = (1-damping) * lambda.r[j] + damping * (referenceInterface.r[j] + averageInterface.r[j]);
-        lambda.q = averageInterface.q.mult(referenceInterface.q);
+
+        lambda.q = Quaternion<double>::interpolate(lambda.q, averageInterface.q, damping);
 
         // ////////////////////////////////////////////////////////////////////////
         //   Write the two iterates to disk for later convergence rate measurement