diff --git a/src/OpenFOAM/matrices/solution/solution.C b/src/OpenFOAM/matrices/solution/solution.C
index 27b0eac1df3d9d2bcedde7d96f7e0cba7ec705b6..397bae49ae51c58713ecaca142cce712f03d60fb 100644
--- a/src/OpenFOAM/matrices/solution/solution.C
+++ b/src/OpenFOAM/matrices/solution/solution.C
@@ -106,7 +106,8 @@ void Foam::solution::read(const dictionary& dict)
         fieldRelaxDefault_ = Function1<scalar>::NewIfPresent
         (
             "default",
-            fieldRelaxDict_
+            fieldRelaxDict_,
+            &db()
         );
         if (!fieldRelaxDefault_)
         {
@@ -119,7 +120,8 @@ void Foam::solution::read(const dictionary& dict)
         eqnRelaxDefault_ = Function1<scalar>::NewIfPresent
         (
             "default",
-            eqnRelaxDict_
+            eqnRelaxDict_,
+            &db()
         );
         if (!eqnRelaxDefault_)
         {
@@ -341,7 +343,8 @@ bool Foam::solution::relaxField(const word& name, scalar& factor) const
             fieldRelaxCache_,  // cache
             name,
             fieldRelaxDict_,
-            keyType::REGEX
+            keyType::REGEX,
+            &db()
         )().value(time().timeOutputValue());
 
         return true;
@@ -368,7 +371,8 @@ bool Foam::solution::relaxEquation(const word& name, scalar& factor) const
             eqnRelaxCache_,  // cache
             name,
             eqnRelaxDict_,
-            keyType::REGEX
+            keyType::REGEX,
+            &db()
         )().value(time().timeOutputValue());
 
         return true;