Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp	(revision 6b474e1aa04d153d6d0b68b8cf8de9ed806ef258)
@@ -16,5 +16,7 @@
 #include "UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp"
 
+#include "Descriptors/MoleculeIdDescriptor.hpp"
 #include "molecule.hpp"
+#include "World.hpp"
 
 class QtMoleculeItemFactory;
@@ -29,7 +31,7 @@
 
   QtMoleculeItem_atomcount(
-      const molecule * const _mol,
+      const moleculeId_t _molid,
       emitDirtyState_t _emitDirtyState) :
-        QtMoleculeItem(_mol, channellist_atomcount, QtMoleculeItem::NeedsMove, _emitDirtyState)
+        QtMoleculeItem(_molid, channellist_atomcount, QtMoleculeItem::NeedsMove, _emitDirtyState)
   {
     // cannot call pure virtual function in QtMoleculeItem's cstor
@@ -42,5 +44,9 @@
   void internal_updateState()
   {
-    setText(QString::number(mol->getAtomCount()));
+    const molecule * mol = World::getInstance().getMolecule(MoleculeById(molid));
+    if (mol != NULL)
+      setText(QString::number(mol->getAtomCount()));
+    else
+      setText(QString::number(-1));
   }
 
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp	(revision 6b474e1aa04d153d6d0b68b8cf8de9ed806ef258)
@@ -18,6 +18,8 @@
 #include <string>
 
+#include "Descriptors/MoleculeIdDescriptor.hpp"
 #include "Formula.hpp"
 #include "molecule.hpp"
+#include "World.hpp"
 
 class QtMoleculeItemFactory;
@@ -32,7 +34,7 @@
 
   QtMoleculeItem_formula(
-      const molecule * const _mol,
+      const moleculeId_t _molid,
       emitDirtyState_t _emitDirtyState) :
-        QtMoleculeItem(_mol, channellist_formula, QtMoleculeItem::NeedsMove, _emitDirtyState)
+        QtMoleculeItem(_molid, channellist_formula, QtMoleculeItem::NeedsMove, _emitDirtyState)
   {
     // cannot call pure virtual function in QtMoleculeItem's cstor
@@ -45,5 +47,9 @@
   void internal_updateState()
   {
-    setText(QString(mol->getFormula().toString().c_str()));
+    const molecule * mol = World::getInstance().getMolecule(MoleculeById(molid));
+    if (mol != NULL)
+      setText(QString(mol->getFormula().toString().c_str()));
+    else
+      setText(QString(""));
   }
 
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp	(revision 6b474e1aa04d153d6d0b68b8cf8de9ed806ef258)
@@ -16,5 +16,7 @@
 #include "UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp"
 
+#include "Descriptors/MoleculeIdDescriptor.hpp"
 #include "molecule.hpp"
+#include "World.hpp"
 
 class QtMoleculeItemFactory;
@@ -29,7 +31,7 @@
 
   QtMoleculeItem_name(
-      const molecule * const _mol,
+      const moleculeId_t _molid,
       emitDirtyState_t _emitDirtyState) :
-        QtMoleculeItem(_mol, channellist_name, QtMoleculeItem::DoesNotMove, _emitDirtyState)
+        QtMoleculeItem(_molid, channellist_name, QtMoleculeItem::DoesNotMove, _emitDirtyState)
   {
     // cannot call pure virtual function in QtMoleculeItem's cstor
@@ -42,5 +44,9 @@
   void internal_updateState()
   {
-    setText(QString(mol->getName().c_str()));
+    const molecule * mol = World::getInstance().getMolecule(MoleculeById(molid));
+    if (mol != NULL)
+      setText(QString(mol->getName().c_str()));
+    else
+      setText(QString("to be removed"));
   }
 
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp	(revision 6b474e1aa04d153d6d0b68b8cf8de9ed806ef258)
@@ -27,7 +27,7 @@
 
   QtMoleculeItem_occurrence(
-      const molecule * const _mol,
+      const moleculeId_t _molid,
       emitDirtyState_t _emitDirtyState) :
-        QtMoleculeItem(_mol, channellist_occurrence, QtMoleculeItem::DoesNotMove, _emitDirtyState)
+        QtMoleculeItem(_molid, channellist_occurrence, QtMoleculeItem::DoesNotMove, _emitDirtyState)
   {
     // cannot call pure virtual function in QtMoleculeItem's cstor
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp	(revision 6b474e1aa04d153d6d0b68b8cf8de9ed806ef258)
@@ -27,7 +27,7 @@
 
   QtMoleculeItem_visibility(
-      const molecule * const _mol,
+      const moleculeId_t _molid,
       emitDirtyState_t _emitDirtyState) :
-        QtMoleculeItem(_mol, channellist_visibility, QtMoleculeItem::DoesNotMove, _emitDirtyState)
+        QtMoleculeItem(_molid, channellist_visibility, QtMoleculeItem::DoesNotMove, _emitDirtyState)
   {
     setFlags(flags() | Qt::ItemIsUserCheckable);
