diff --git a/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.C b/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.C
index a6a979e8abc95656fc96cd9ed2a28c5dd73a4ecd..215675a8a2d33a011777bf448204981a6eab0b06 100644
--- a/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.C
+++ b/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.C
@@ -230,6 +230,17 @@ Foam::polynomialFunction::integralMinus1(const scalar intConstant) const
 
 // * * * * * * * * * * * * * * Member Operators  * * * * * * * * * * * * * * //
 
+bool Foam::polynomialFunction::operator==(const polynomialFunction& rhs) const
+{
+    return
+    (
+        scalarList::operator==(static_cast<const scalarList&>(rhs))
+     && logActive_ == rhs.logActive_
+     && (!logActive_ || (logCoeff_ == rhs.logCoeff_))
+    );
+}
+
+
 Foam::polynomialFunction&
 Foam::polynomialFunction::operator+=(const polynomialFunction& poly)
 {
diff --git a/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.H b/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.H
index 411260f4be89974abd051ab67f7483dbfcee6699..6f3757be3368e04776e81f35638d45a52c653090 100644
--- a/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.H
+++ b/src/OpenFOAM/primitives/functions/Polynomial/polynomialFunction.H
@@ -108,9 +108,6 @@ class polynomialFunction
         //- Check size is non-zero or trigger FatalErrot
         void checkSize() const;
 
-        //- No copy assignment
-        void operator=(const polynomialFunction&) = delete;
-
 
 public:
 
@@ -190,6 +187,14 @@ public:
 
     // Member Operators
 
+        //- Equality of coefficients, and logCoeff (if active)
+        bool operator==(const polynomialFunction& rhs) const;
+
+        bool operator!=(const polynomialFunction& rhs) const
+        {
+            return !operator==(rhs);
+        }
+
         polynomialFunction& operator+=(const polynomialFunction&);
         polynomialFunction& operator-=(const polynomialFunction&);