diff --git a/qt/widgets/common/CMakeLists.txt b/qt/widgets/common/CMakeLists.txt
index c5e06592e173490485b1fd0be073019534abb157..6a92f428600717b9fee7879f5e20d1db153130ee 100644
--- a/qt/widgets/common/CMakeLists.txt
+++ b/qt/widgets/common/CMakeLists.txt
@@ -931,6 +931,7 @@ set(TEST_FILES
     test/FileDialogHandlerTest.h
     test/FindFilesThreadPoolManagerTest.h
     test/FindFilesWorkerTest.h
+    test/FitPropertyBrowserTest.h
     test/FunctionModelTest.h
     test/FunctionMultiDomainPresenterTest.h
     test/FunctionBrowserUtilsTest.h
@@ -976,6 +977,7 @@ set(
   test/FileDialogHandlerTest.h
   test/FindFilesThreadPoolManagerTest.h
   test/FindFilesWorkerTest.h
+  test/FitPropertyBrowserTest.h
   test/FunctionModelTest.h
   test/FunctionMultiDomainPresenterTest.h
   test/FunctionBrowserUtilsTest.h
@@ -1047,6 +1049,7 @@ set(
   test/FileDialogHandlerTest.h
   test/FindFilesThreadPoolManagerTest.h
   test/FindFilesWorkerTest.h
+  test/FitPropertyBrowserTest.h
   test/InterfaceManagerTest.h
   test/QtJSONUtilsTest.h
   test/RepoModelTest.h
diff --git a/qt/widgets/common/test/FitPropertyBrowserTest.h b/qt/widgets/common/test/FitPropertyBrowserTest.h
new file mode 100644
index 0000000000000000000000000000000000000000..60044de01282e4bfb1aa050c5d80efe3475832be
--- /dev/null
+++ b/qt/widgets/common/test/FitPropertyBrowserTest.h
@@ -0,0 +1,57 @@
+// Mantid Repository : https://github.com/mantidproject/mantid
+//
+// Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
+//   NScD Oak Ridge National Laboratory, European Spallation Source,
+//   Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
+// SPDX - License - Identifier: GPL - 3.0 +
+#pragma once
+
+#include "MantidQtWidgets/Common/FitPropertyBrowser.h"
+#include "MantidAPI/IFunction1D.h"
+#include "MantidAPI/ParamFunction.h"
+#include "MantidAPI/FunctionFactory.h"
+#include <cxxtest/TestSuite.h>
+
+using namespace Mantid::API;
+
+class FitPropertyBrowserTest_Funct : public ParamFunction, public IFunction1D {
+public:
+  FitPropertyBrowserTest_Funct() {
+    declareParameter("b0");
+    declareParameter("b1");
+  }
+
+  std::string name() const override { return "FitPropertyBrowserTest_Funct"; }
+
+  void function1D(double *out, const double *xValues,
+                  const size_t nData) const override {
+    UNUSED_ARG(out);
+    UNUSED_ARG(xValues);
+    UNUSED_ARG(nData);
+  }
+  void functionDeriv1D(Jacobian *out, const double *xValues,
+                       const size_t nData) override {
+    UNUSED_ARG(out);
+    UNUSED_ARG(xValues);
+    UNUSED_ARG(nData);
+  }
+};
+
+DECLARE_FUNCTION(FitPropertyBrowserTest_Funct)
+
+class FitPropertyBrowserTest : public CxxTest::TestSuite {
+public:
+  //This is a very specific test for a bug that is now fixed to prevent regression
+  void test_FunctionFactory_notification_is_released() {
+    
+    //create a FunctionBrowser
+    auto fpBrowser = std::make_unique<MantidQt::MantidWidgets::FitPropertyBrowser>();
+    //initialise it - this adds an observer on the function factory update message
+    fpBrowser->init();
+    //delete the FunctionBrowser
+    fpBrowser.reset();
+    //Make sure the FunctionFactory does not have a dead link as an observer
+    TS_ASSERT_THROWS_NOTHING(FunctionFactory::Instance().unsubscribe("FitPropertyBrowserTest_Funct");)
+  }
+
+};