diff --git a/modules/gui/src/scene_win/entity_node.cc b/modules/gui/src/scene_win/entity_node.cc
index 56d2384304cbf4dd6a3fb82f891896dfcac86a5f..6f0e4abf2751ad44d01fd1c5ae2765a97fe026c7 100644
--- a/modules/gui/src/scene_win/entity_node.cc
+++ b/modules/gui/src/scene_win/entity_node.cc
@@ -21,9 +21,12 @@
 #include <QFont>
 #include <QString>
 
+#include <ost/mol/query.hh>
+#include <ost/mol/query_view_wrapper.hh>
+#include <ost/mol/view_type_fw.hh>
+
 #include <ost/gui/gosty_app.hh>
 #include <ost/gui/scene_win/scene_win.hh>
-#include <ost/mol/query_view_wrapper.hh>
 
 #include "current_selection_node.hh"
 #include "entity_part_node.hh"
@@ -43,6 +46,17 @@ EntityNode::EntityNode(gfx::EntityP& entity, SceneNode* parent):
 
   new RenderModesNode(entity, this);
 
+  SceneNode* chain_node = new LabelNode("Chains",this);
+  model->AddNode(this, chain_node);
+  mol::EntityView view = entity->GetView();
+  mol::ChainViewList chains = view.GetChainList();
+  for(unsigned int i = 0; i<chains.size();i++){
+    QString name = chains[i].GetName().c_str();
+    name = (name.size() == 0 || name == " ")? "No name" : name;
+    mol::Query query("cname='"+chains[i].GetName()+"'");
+    model->AddNode(chain_node,new EntityPartNode(name,entity, mol::QueryViewWrapper(query,view),chain_node));
+  }
+
   SceneNode* quick_selection = new LabelNode("Quick Selection",this);
   model->AddNode(this, quick_selection);