diff --git a/Framework/Kernel/src/ConfigService.cpp b/Framework/Kernel/src/ConfigService.cpp
index 0a297ec536b17cf7f33209e941598e20475f1253..0ef02f940a1ffcc65fd799e059009bf3c6c4227b 100644
--- a/Framework/Kernel/src/ConfigService.cpp
+++ b/Framework/Kernel/src/ConfigService.cpp
@@ -112,6 +112,15 @@ public:
     m_pPtr = static_cast<T *>(this);
   }
 
+  /// Overloaded = operator sets the pointer to the wrapped class
+  /// and copies over the contents
+  WrappedObject<T> &operator=(const WrappedObject<T> &rhs) {
+    if (this != &rhs) {
+      m_pPtr = static_cast<T *>(this);
+      *m_pPtr = rhs;
+    }
+    return *this;
+  }
   /// Overloaded * operator returns the wrapped object pointer
   const T &operator*() const { return *m_pPtr; }
   /// Overloaded * operator returns the wrapped object pointer