diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
index f9272661956f94b7b4b94cc4c6028a01b7928c4b..d2b3e2d6b130314a2253c75436f78740383f7c35 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
+++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C
@@ -102,7 +102,7 @@ pow
     typedef typename powProduct<Type, r>::type powProductType;
     tmp<Field<powProductType>> tRes = reuseTmp<powProductType, Type>::New(tf);
     pow<Type, r>(tRes.ref(), tf());
-    reuseTmp<powProductType, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -139,7 +139,7 @@ sqr(const tmp<Field<Type>>& tf)
     tmp<Field<outerProductType>> tRes =
         reuseTmp<outerProductType, Type>::New(tf);
     sqr(tRes.ref(), tf());
-    reuseTmp<outerProductType, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -163,7 +163,7 @@ tmp<Field<scalar>> magSqr(const tmp<Field<Type>>& tf)
 {
     tmp<Field<scalar>> tRes = reuseTmp<scalar, Type>::New(tf);
     magSqr(tRes.ref(), tf());
-    reuseTmp<scalar, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -187,7 +187,7 @@ tmp<Field<scalar>> mag(const tmp<Field<Type>>& tf)
 {
     tmp<Field<scalar>> tRes = reuseTmp<scalar, Type>::New(tf);
     mag(tRes.ref(), tf());
-    reuseTmp<scalar, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -214,7 +214,7 @@ tmp<Field<typename Field<Type>::cmptType>> cmptMax(const tmp<Field<Type>>& tf)
     typedef typename Field<Type>::cmptType cmptType;
     tmp<Field<cmptType>> tRes = reuseTmp<cmptType, Type>::New(tf);
     cmptMax(tRes.ref(), tf());
-    reuseTmp<cmptType, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -241,7 +241,7 @@ tmp<Field<typename Field<Type>::cmptType>> cmptMin(const tmp<Field<Type>>& tf)
     typedef typename Field<Type>::cmptType cmptType;
     tmp<Field<cmptType>> tRes = reuseTmp<cmptType, Type>::New(tf);
     cmptMin(tRes.ref(), tf());
-    reuseTmp<cmptType, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -268,7 +268,7 @@ tmp<Field<typename Field<Type>::cmptType>> cmptAv(const tmp<Field<Type>>& tf)
     typedef typename Field<Type>::cmptType cmptType;
     tmp<Field<cmptType>> tRes = reuseTmp<cmptType, Type>::New(tf);
     cmptAv(tRes.ref(), tf());
-    reuseTmp<cmptType, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -290,9 +290,9 @@ tmp<Field<Type>> cmptMag(const UList<Type>& f)
 template<class Type>
 tmp<Field<Type>> cmptMag(const tmp<Field<Type>>& tf)
 {
-    tmp<Field<Type>> tRes = reuseTmp<Type, Type>::New(tf);
+    tmp<Field<Type>> tRes = New(tf);
     cmptMag(tRes.ref(), tf());
-    reuseTmp<Type, Type>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
@@ -664,7 +664,7 @@ operator Op(const UList<Type1>& f1, const tmp<Field<Type2>>& tf2)              \
     typedef typename product<Type1, Type2>::type productType;                  \
     tmp<Field<productType>> tRes = reuseTmp<productType, Type2>::New(tf2);     \
     OpFunc(tRes.ref(), f1, tf2());                                             \
-    reuseTmp<productType, Type2>::clear(tf2);                                  \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -675,7 +675,7 @@ operator Op(const tmp<Field<Type1>>& tf1, const UList<Type2>& f2)              \
     typedef typename product<Type1, Type2>::type productType;                  \
     tmp<Field<productType>> tRes = reuseTmp<productType, Type1>::New(tf1);     \
     OpFunc(tRes.ref(), tf1(), f2);                                             \
-    reuseTmp<productType, Type1>::clear(tf1);                                  \
+    tf1.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -687,7 +687,8 @@ operator Op(const tmp<Field<Type1>>& tf1, const tmp<Field<Type2>>& tf2)        \
     tmp<Field<productType>> tRes =                                             \
         reuseTmpTmp<productType, Type1, Type1, Type2>::New(tf1, tf2);          \
     OpFunc(tRes.ref(), tf1(), tf2());                                          \
-    reuseTmpTmp<productType, Type1, Type1, Type2>::clear(tf1, tf2);            \
+    tf1.clear();                                                               \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -725,7 +726,7 @@ operator Op                                                                    \
     typedef typename product<Type, Form>::type productType;                    \
     tmp<Field<productType>> tRes = reuseTmp<productType, Type>::New(tf1);      \
     OpFunc(tRes.ref(), tf1(), static_cast<const Form&>(vs));                   \
-    reuseTmp<productType, Type>::clear(tf1);                                   \
+    tf1.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -762,7 +763,7 @@ operator Op                                                                    \
     typedef typename product<Form, Type>::type productType;                    \
     tmp<Field<productType>> tRes = reuseTmp<productType, Type>::New(tf1);      \
     OpFunc(tRes.ref(), static_cast<const Form&>(vs), tf1());                   \
-    reuseTmp<productType, Type>::clear(tf1);                                   \
+    tf1.clear();                                                               \
     return tRes;                                                               \
 }
 
diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C b/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C
index c4a7ff6c03e0fa9dd694bf62ce31919a348a0b0d..f286d319f0792eb711d0d2d7f121fc9c080547eb 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C
+++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C
@@ -49,7 +49,7 @@ tmp<Field<ReturnType>> Func(const tmp<Field<Type>>& tf)                        \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type>::New(tf);         \
     Func(tRes.ref(), tf());                                                    \
-    reuseTmp<ReturnType, Type>::clear(tf);                                     \
+    tf.clear();                                                                \
     return tRes;                                                               \
 }
 
@@ -77,7 +77,7 @@ tmp<Field<ReturnType>> operator Op(const tmp<Field<Type>>& tf)                 \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type>::New(tf);         \
     OpFunc(tRes.ref(), tf());                                                  \
-    reuseTmp<ReturnType, Type>::clear(tf);                                     \
+    tf.clear();                                                                \
     return tRes;                                                               \
 }
 
@@ -121,7 +121,7 @@ tmp<Field<ReturnType>> Func                                                    \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2);       \
     Func(tRes.ref(), f1, tf2());                                               \
-    reuseTmp<ReturnType, Type2>::clear(tf2);                                   \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -134,7 +134,7 @@ tmp<Field<ReturnType>> Func                                                    \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1);       \
     Func(tRes.ref(), tf1(), f2);                                               \
-    reuseTmp<ReturnType, Type1>::clear(tf1);                                   \
+    tf1.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -148,7 +148,8 @@ tmp<Field<ReturnType>> Func                                                    \
     tmp<Field<ReturnType>> tRes =                                              \
         reuseTmpTmp<ReturnType, Type1, Type1, Type2>::New(tf1, tf2);           \
     Func(tRes.ref(), tf1(), tf2());                                            \
-    reuseTmpTmp<ReturnType, Type1, Type1, Type2>::clear(tf1, tf2);             \
+    tf1.clear();                                                               \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }
 
@@ -192,7 +193,7 @@ tmp<Field<ReturnType>> Func                                                    \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2);       \
     Func(tRes.ref(), s1, tf2());                                               \
-    reuseTmp<ReturnType, Type2>::clear(tf2);                                   \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }
 
@@ -234,7 +235,7 @@ tmp<Field<ReturnType>> Func                                                    \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1);       \
     Func(tRes.ref(), tf1(), s2);                                               \
-    reuseTmp<ReturnType, Type1>::clear(tf1);                                   \
+    tf1.clear();                                                               \
     return tRes;                                                               \
 }
 
@@ -280,7 +281,7 @@ tmp<Field<ReturnType>> operator Op                                             \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2);       \
     OpFunc(tRes.ref(), f1, tf2());                                             \
-    reuseTmp<ReturnType, Type2>::clear(tf2);                                   \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -293,7 +294,7 @@ tmp<Field<ReturnType>> operator Op                                             \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1);       \
     OpFunc(tRes.ref(), tf1(), f2);                                             \
-    reuseTmp<ReturnType, Type1>::clear(tf1);                                   \
+    tf1.clear();                                                               \
     return tRes;                                                               \
 }                                                                              \
                                                                                \
@@ -307,7 +308,8 @@ tmp<Field<ReturnType>> operator Op                                             \
     tmp<Field<ReturnType>> tRes =                                              \
         reuseTmpTmp<ReturnType, Type1, Type1, Type2>::New(tf1, tf2);           \
     OpFunc(tRes.ref(), tf1(), tf2());                                          \
-    reuseTmpTmp<ReturnType, Type1, Type1, Type2>::clear(tf1, tf2);             \
+    tf1.clear();                                                               \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }
 
@@ -348,7 +350,7 @@ tmp<Field<ReturnType>> operator Op                                             \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2);       \
     OpFunc(tRes.ref(), s1, tf2());                                             \
-    reuseTmp<ReturnType, Type2>::clear(tf2);                                   \
+    tf2.clear();                                                               \
     return tRes;                                                               \
 }
 
@@ -387,7 +389,7 @@ tmp<Field<ReturnType>> operator Op                                             \
 {                                                                              \
     tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1);       \
     OpFunc(tRes.ref(), tf1(), s2);                                             \
-    reuseTmp<ReturnType, Type1>::clear(tf1);                                   \
+    tf1.clear();                                                               \
     return tRes;                                                               \
 }
 
diff --git a/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H b/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H
index 4eedccdc4313ab2ccc6e6a685fa37e677196f9a9..fac9e9a51c7fce0087861ac377844a0329999a51 100644
--- a/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H
+++ b/src/OpenFOAM/fields/Fields/Field/FieldReuseFunctions.H
@@ -33,6 +33,31 @@ namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+template<class TypeR>
+tmp<Field<TypeR>> New
+(
+    const tmp<Field<TypeR>>& tf1,
+    const bool initRet = false
+)
+{
+    if (tf1.isTmp())
+    {
+        return tf1;
+    }
+    else
+    {
+        tmp<Field<TypeR>> rtf(new Field<TypeR>(tf1().size()));
+
+        if (initRet)
+        {
+            rtf.ref() = tf1();
+        }
+
+        return rtf;
+    }
+}
+
+
 template<class TypeR, class Type1>
 class reuseTmp
 {
@@ -42,11 +67,6 @@ public:
     {
         return tmp<Field<TypeR>>(new Field<TypeR>(tf1().size()));
     }
-
-    static void clear(const tmp<Field<Type1>>& tf1)
-    {
-        tf1.clear();
-    }
 };
 
 
@@ -55,11 +75,7 @@ class reuseTmp<TypeR, TypeR>
 {
 public:
 
-    static tmp<Field<TypeR>> New
-    (
-        const tmp<Field<TypeR>>& tf1,
-        const bool initRet = false
-    )
+    static tmp<Field<TypeR>> New(const tmp<Field<TypeR>>& tf1)
     {
         if (tf1.isTmp())
         {
@@ -67,21 +83,9 @@ public:
         }
         else
         {
-            tmp<Field<TypeR>> rtf(new Field<TypeR>(tf1().size()));
-
-            if (initRet)
-            {
-                rtf.ref() = tf1();
-            }
-
-            return rtf;
+            return tmp<Field<TypeR>>(new Field<TypeR>(tf1().size()));
         }
     }
-
-    static void clear(const tmp<Field<TypeR>>& tf1)
-    {
-        tf1.clear();
-    }
 };
 
 
@@ -98,16 +102,6 @@ public:
     {
         return tmp<Field<TypeR>>(new Field<TypeR>(tf1().size()));
     }
-
-    static void clear
-    (
-        const tmp<Field<Type1>>& tf1,
-        const tmp<Field<Type2>>& tf2
-    )
-    {
-        tf1.clear();
-        tf2.clear();
-    }
 };
 
 
@@ -131,16 +125,6 @@ public:
             return tmp<Field<TypeR>>(new Field<TypeR>(tf1().size()));
         }
     }
-
-    static void clear
-    (
-        const tmp<Field<Type1>>& tf1,
-        const tmp<Field<TypeR>>& tf2
-    )
-    {
-        tf1.clear();
-        tf2.clear();
-    }
 };
 
 
@@ -164,16 +148,6 @@ public:
             return tmp<Field<TypeR>>(new Field<TypeR>(tf1().size()));
         }
     }
-
-    static void clear
-    (
-        const tmp<Field<TypeR>>& tf1,
-        const tmp<Field<Type2>>& tf2
-    )
-    {
-        tf1.clear();
-        tf2.clear();
-    }
 };
 
 
@@ -201,16 +175,6 @@ public:
             return tmp<Field<TypeR>>(new Field<TypeR>(tf1().size()));
         }
     }
-
-    static void clear
-    (
-        const tmp<Field<TypeR>>& tf1,
-        const tmp<Field<TypeR>>& tf2
-    )
-    {
-        tf1.clear();
-        tf2.clear();
-    }
 };
 
 
diff --git a/src/OpenFOAM/fields/Fields/scalarField/scalarField.C b/src/OpenFOAM/fields/Fields/scalarField/scalarField.C
index 875e610cb729a515cadf63dbcfac06cb17f159b0..0aac998c8dfcca8b97adb86e5d6c3f29f91727b3 100644
--- a/src/OpenFOAM/fields/Fields/scalarField/scalarField.C
+++ b/src/OpenFOAM/fields/Fields/scalarField/scalarField.C
@@ -80,9 +80,9 @@ tmp<scalarField> stabilise(const UList<scalar>& sf, const scalar s)
 
 tmp<scalarField> stabilise(const tmp<scalarField>& tsf, const scalar s)
 {
-    tmp<scalarField> tRes = reuseTmp<scalar, scalar>::New(tsf);
+    tmp<scalarField> tRes = New(tsf);
     stabilise(tRes.ref(), tsf(), s);
-    reuseTmp<scalar, scalar>::clear(tsf);
+    tsf.clear();
     return tRes;
 }
 
@@ -179,9 +179,9 @@ tmp<scalarField> func(const int n, const UList<scalar>& sf)                    \
                                                                                \
 tmp<scalarField> func(const int n, const tmp<scalarField>& tsf)                \
 {                                                                              \
-    tmp<scalarField> tRes = reuseTmp<scalar, scalar>::New(tsf);                \
+    tmp<scalarField> tRes = New(tsf);                                          \
     func(tRes.ref(), n, tsf());                                                \
-    reuseTmp<scalar, scalar>::clear(tsf);                                      \
+    tsf.clear();                                                               \
     return tRes;                                                               \
 }
 
diff --git a/src/OpenFOAM/fields/Fields/symmTensorField/symmTensorField.C b/src/OpenFOAM/fields/Fields/symmTensorField/symmTensorField.C
index 6304130a7171ccc1d3828fe6864ba457870c7d5b..c50ab3daa45292c2ceaf311040a95beb46789117 100644
--- a/src/OpenFOAM/fields/Fields/symmTensorField/symmTensorField.C
+++ b/src/OpenFOAM/fields/Fields/symmTensorField/symmTensorField.C
@@ -114,9 +114,9 @@ tmp<symmTensorField> inv(const UList<symmTensor>& tf)
 
 tmp<symmTensorField> inv(const tmp<symmTensorField>& tf)
 {
-    tmp<symmTensorField> tRes = reuseTmp<symmTensor, symmTensor>::New(tf);
+    tmp<symmTensorField> tRes = New(tf);
     inv(tRes.ref(), tf());
-    reuseTmp<symmTensor, symmTensor>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
diff --git a/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.C b/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.C
index 1b6c52bb1474184979531d4e60ca2534a3102929..e1b19cf8df7f3c6c07fd02d35778152eb8599f3a 100644
--- a/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.C
+++ b/src/OpenFOAM/fields/Fields/symmTransformField/symmTransformField.C
@@ -75,9 +75,9 @@ tmp<Field<Type>> transform
     const tmp<Field<Type>>& ttf
 )
 {
-    tmp<Field<Type>> tranf = reuseTmp<Type, Type>::New(ttf);
+    tmp<Field<Type>> tranf = New(ttf);
     transform(tranf.ref(), trf, ttf());
-    reuseTmp<Type, Type>::clear(ttf);
+    ttf.clear();
     return tranf;
 }
 
@@ -103,9 +103,9 @@ tmp<Field<Type>> transform
     const tmp<Field<Type>>& ttf
 )
 {
-    tmp<Field<Type>> tranf = reuseTmp<Type, Type>::New(ttf);
+    tmp<Field<Type>> tranf = New(ttf);
     transform(tranf.ref(), ttrf(), ttf());
-    reuseTmp<Type, Type>::clear(ttf);
+    ttf.clear();
     ttrf.clear();
     return tranf;
 }
@@ -143,9 +143,9 @@ tmp<Field<Type>> transform
     const tmp<Field<Type>>& ttf
 )
 {
-    tmp<Field<Type>> tranf = reuseTmp<Type, Type>::New(ttf);
+    tmp<Field<Type>> tranf = New(ttf);
     transform(tranf.ref(), t, ttf());
-    reuseTmp<Type, Type>::clear(ttf);
+    ttf.clear();
     return tranf;
 }
 
diff --git a/src/OpenFOAM/fields/Fields/tensorField/tensorField.C b/src/OpenFOAM/fields/Fields/tensorField/tensorField.C
index a85f6052ea5f692bef7470207317f3123590fd92..45ea27e12c510d29ee0aaa55db3d3c4f66e3814d 100644
--- a/src/OpenFOAM/fields/Fields/tensorField/tensorField.C
+++ b/src/OpenFOAM/fields/Fields/tensorField/tensorField.C
@@ -112,9 +112,9 @@ tmp<tensorField> inv(const UList<tensor>& tf)
 
 tmp<tensorField> inv(const tmp<tensorField>& tf)
 {
-    tmp<tensorField> tRes = reuseTmp<tensor, tensor>::New(tf);
+    tmp<tensorField> tRes = New(tf);
     inv(tRes.ref(), tf());
-    reuseTmp<tensor, tensor>::clear(tf);
+    tf.clear();
     return tRes;
 }
 
diff --git a/src/OpenFOAM/fields/Fields/transformField/transformField.C b/src/OpenFOAM/fields/Fields/transformField/transformField.C
index d548c902606f6c27650626d4442781bdf3984070..4d35792d731ec0757f1ae6829d0ccc2c77ab4d76 100644
--- a/src/OpenFOAM/fields/Fields/transformField/transformField.C
+++ b/src/OpenFOAM/fields/Fields/transformField/transformField.C
@@ -59,9 +59,9 @@ Foam::tmp<Foam::vectorField> Foam::transform
     const tmp<vectorField>& ttf
 )
 {
-    tmp<vectorField > tranf = reuseTmp<vector, vector>::New(ttf);
+    tmp<vectorField > tranf = New(ttf);
     transform(tranf.ref(), q, ttf());
-    reuseTmp<vector, vector>::clear(ttf);
+    ttf.clear();
     return tranf;
 }
 
@@ -117,9 +117,9 @@ Foam::tmp<Foam::vectorField> Foam::transform
     const tmp<vectorField>& ttf
 )
 {
-    tmp<vectorField > tranf = reuseTmp<vector, vector>::New(ttf);
+    tmp<vectorField > tranf = New(ttf);
     transform(tranf.ref(), tr, ttf());
-    reuseTmp<vector, vector>::clear(ttf);
+    ttf.clear();
     return tranf;
 }
 
diff --git a/src/OpenFOAM/fields/Fields/transformField/transformFieldTemplates.C b/src/OpenFOAM/fields/Fields/transformField/transformFieldTemplates.C
index 985054bede5d37bea611712100ea5638c5d1728a..7e87d7af92d90c7035e2b9d75c349caa3f027b84 100644
--- a/src/OpenFOAM/fields/Fields/transformField/transformFieldTemplates.C
+++ b/src/OpenFOAM/fields/Fields/transformField/transformFieldTemplates.C
@@ -75,9 +75,9 @@ tmp<Field<Type>> transform
     const tmp<Field<Type>>& ttf
 )
 {
-    tmp<Field<Type>> tranf = reuseTmp<Type, Type>::New(ttf);
+    tmp<Field<Type>> tranf = New(ttf);
     transform(tranf.ref(), trf, ttf());
-    reuseTmp<Type, Type>::clear(ttf);
+    ttf.clear();
     return tranf;
 }
 
@@ -103,9 +103,9 @@ tmp<Field<Type>> transform
     const tmp<Field<Type>>& ttf
 )
 {
-    tmp<Field<Type>> tranf = reuseTmp<Type, Type>::New(ttf);
+    tmp<Field<Type>> tranf = New(ttf);
     transform(tranf.ref(), ttrf(), ttf());
-    reuseTmp<Type, Type>::clear(ttf);
+    ttf.clear();
     ttrf.clear();
     return tranf;
 }
@@ -143,9 +143,9 @@ tmp<Field<Type>> transform
     const tmp<Field<Type>>& ttf
 )
 {
-    tmp<Field<Type>> tranf = reuseTmp<Type, Type>::New(ttf);
+    tmp<Field<Type>> tranf = New(ttf);
     transform(tranf.ref(), t, ttf());
-    reuseTmp<Type, Type>::clear(ttf);
+    ttf.clear();
     return tranf;
 }
 
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C
index a4b099b6cbab22e97348ae2988dc0db3fa3382df..5e31ac12694fc558fb082a5dd5f3cc33e5fc4255 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C
@@ -290,17 +290,14 @@ Foam::MRFZoneList::relative
 {
     if (size())
     {
-        tmp<Field<scalar>> rphi
-        (
-            reuseTmp<scalar, scalar>::New(tphi, true)
-        );
+        tmp<Field<scalar>> rphi(New(tphi, true));
 
         forAll(*this, i)
         {
             operator[](i).makeRelative(rphi.ref(), patchi);
         }
 
-        reuseTmp<scalar, scalar>::clear(tphi);
+        tphi.clear();
 
         return rphi;
     }