Index: src/Potentials/PotentialRegistry.cpp
===================================================================
--- src/Potentials/PotentialRegistry.cpp	(revision 4b2e05a891dfcc949adc242001c9b83c1af86927)
+++ src/Potentials/PotentialRegistry.cpp	(revision f0964cb5f2f053c3e0aed176849d832df3814314)
@@ -40,4 +40,20 @@
 #include "CodePatterns/Registry_impl.hpp"
 
+PotentialRegistry::PotentialRegistry() :
+  Observable("PotentialRegistry")
+{}
+
+
+void PotentialRegistry::registerInstance(EmpiricalPotential *potential)
+{
+  OBSERVE;
+  Registry<EmpiricalPotential>::registerInstance(potential);
+}
+void PotentialRegistry::unregisterInstance(EmpiricalPotential *potential)
+{
+  OBSERVE;
+  Registry<EmpiricalPotential>::unregisterInstance(potential);
+}
+
 CONSTRUCT_SINGLETON(PotentialRegistry)
 CONSTRUCT_REGISTRY(EmpiricalPotential)
Index: src/Potentials/PotentialRegistry.hpp
===================================================================
--- src/Potentials/PotentialRegistry.hpp	(revision 4b2e05a891dfcc949adc242001c9b83c1af86927)
+++ src/Potentials/PotentialRegistry.hpp	(revision f0964cb5f2f053c3e0aed176849d832df3814314)
@@ -14,4 +14,5 @@
 #endif
 
+#include "CodePatterns/Observer/Observable.hpp"
 #include "CodePatterns/Registry.hpp"
 #include "CodePatterns/Singleton.hpp"
@@ -29,5 +30,8 @@
  * ones.
  */
-class PotentialRegistry : public Singleton<PotentialRegistry>, public Registry<EmpiricalPotential>
+class PotentialRegistry :
+    public Singleton<PotentialRegistry>,
+    public Registry<EmpiricalPotential>,
+    public Observable
 {
   friend class Singleton<PotentialRegistry>;
@@ -36,7 +40,10 @@
 public:
 
+  void registerInstance(EmpiricalPotential*);
+  void unregisterInstance(EmpiricalPotential*);
+
 private:
-  PotentialRegistry() {}
-  ~PotentialRegistry() {}
+  PotentialRegistry();
+  virtual ~PotentialRegistry() {}
 };
 
Index: src/UIElements/Views/Qt4/QtHomologyList.cpp
===================================================================
--- src/UIElements/Views/Qt4/QtHomologyList.cpp	(revision 4b2e05a891dfcc949adc242001c9b83c1af86927)
+++ src/UIElements/Views/Qt4/QtHomologyList.cpp	(revision f0964cb5f2f053c3e0aed176849d832df3814314)
@@ -45,4 +45,5 @@
 
 #include "Fragmentation/Homology/HomologyContainer.hpp"
+#include "Potentials/PotentialRegistry.hpp"
 #include "World.hpp"
 
@@ -54,5 +55,6 @@
 QtHomologyList::QtHomologyList(QWidget * _parent) :
     QWidget(_parent),
-    Observer("QtHomologyList")
+    Observer("QtHomologyList"),
+    potentialregistry_enabled(false)
 {
   QSplitter *splitter = new QSplitter (Qt::Horizontal, this );
@@ -78,4 +80,6 @@
 	HomologyContainer &homologies = World::getInstance().getHomologies();
 	homologies.signOn(this);
+	PotentialRegistry::getInstance().signOn(this);
+	potentialregistry_enabled = true;
 
   connect(treewidget,SIGNAL(itemSelectionChanged()),this,SLOT(rowSelected()));
@@ -87,4 +91,6 @@
   HomologyContainer &homologies = World::getInstance().getHomologies();
   homologies.signOff(this);
+  if (potentialregistry_enabled)
+    PotentialRegistry::getInstance().signOff(this);
 }
 
@@ -150,6 +156,9 @@
 {
   // as a new instance should always already be present ... just sign on
-  HomologyContainer &homologies = World::getInstance().getHomologies();
-  homologies.signOn(this);
+  if (static_cast<PotentialRegistry *>(publisher) == PotentialRegistry::getPointer()) {
+    potentialregistry_enabled = false;
+  } else {
+    // its HomologyContainer
+  }
 }
 
Index: src/UIElements/Views/Qt4/QtHomologyList.hpp
===================================================================
--- src/UIElements/Views/Qt4/QtHomologyList.hpp	(revision 4b2e05a891dfcc949adc242001c9b83c1af86927)
+++ src/UIElements/Views/Qt4/QtHomologyList.hpp	(revision f0964cb5f2f053c3e0aed176849d832df3814314)
@@ -53,4 +53,6 @@
   //!> flag to indicate that we currently clear the view, avoids thread collisions
   bool clearing;
+  //!> flag to indicate whether we are subscribed to PotentialRegistry
+  bool potentialregistry_enabled;
 
 private:
