diff --git a/modules/gui/pymod/scene/sequence_widget.py b/modules/gui/pymod/scene/sequence_widget.py
index 40a77a73d7dfdaa0fedbb5cbc94cfa4759e0fc48..573149d5a2cd5dad58ceb7b7fa9c642db1820702 100644
--- a/modules/gui/pymod/scene/sequence_widget.py
+++ b/modules/gui/pymod/scene/sequence_widget.py
@@ -33,9 +33,6 @@ class SequenceWidget(QtGui.QWidget):
     self.text_ = "Sequences"
     
     self.display_modes_ = QtGui.QComboBox(self);
-    self.display_modes_.addItem("Highlight properties")
-    self.display_modes_.addItem("Secondary structure")
-    self.display_modes_.addItem("Highlight conservation")
     QtCore.QObject.connect(self.display_modes_, QtCore.SIGNAL("activated(int)"), self.__ChangeDisplayMode)
     self.setMinimumSize(250,150)
     
@@ -43,23 +40,53 @@ class SequenceWidget(QtGui.QWidget):
   def Update(self):
     self.display_modes_.setEnabled(True)
     scene_selection = gui.SceneSelection.Instance()
-    
+    seq_viewer = gui.GostyApp.Instance().GetSequenceViewerV2()
+    self.display_modes_.clear()
+          
     if scene_selection.GetActiveNodeCount() == 0 and scene_selection.GetActiveViewCount() == 0:
       self.display_modes_.setEnabled(False)
       return
-        
-    for i in range(0,scene_selection.GetActiveNodeCount()):
-      node = scene_selection.GetActiveNode(i)
-      if not (isinstance(node, gfx.Entity) or (isinstance(node, seq.AlignmentHandle))) :
+    elif scene_selection.GetActiveNodeCount() == 1 and scene_selection.GetActiveViewCount() == 0:
+      node = scene_selection.GetActiveNode(0) 
+      if (isinstance(node, gfx.Entity)) or (isinstance(node, seq.AlignmentHandle)):
+        selected = seq_viewer.GetCurrentDisplayMode(node)
+        modes = seq_viewer.GetDisplayModes(node)
+      elif (isinstance(node,gfx.GfxNode)) and (node.GetName() == "Scene"):
+        selected = seq_viewer.GetCurrentDisplayMode()
+        modes = seq_viewer.GetDisplayModes()
+      else:
         self.display_modes_.setEnabled(self,False)
-        return
+        selected = None
+        modes = list()
+      for m in modes:
+        self.display_modes_.addItem(m)
+      for i in range(0,self.display_modes_.count()):
+        if(selected == self.display_modes_.itemText(i)):
+          self.display_modes_.setCurrentIndex(i)
+    elif scene_selection.GetActiveNodeCount() > 1 and scene_selection.GetActiveViewCount() == 0:
+      for i in range(0,scene_selection.GetActiveNodeCount()):
+        node = scene_selection.GetActiveNode(i)
+        if not (isinstance(node, gfx.Entity) or (isinstance(node, seq.AlignmentHandle))) :
+          self.display_modes_.setEnabled(self,False)
+          return
+      selected = seq_viewer.GetCurrentDisplayMode()
+      modes = seq_viewer.GetDisplayModes()
+      for m in modes:
+        self.display_modes_.addItem(m)
+      for i in range(0,self.display_modes_.count()):
+        if(selected == self.display_modes_.itemText(i)):
+          self.display_modes_.setCurrentIndex(i)
+    else:
+      self.display_modes_.setEnabled(self,False)      
     
-    seq_viewer = gui.GostyApp.Instance().GetSequenceViewerV2()
     
   def __ChangeDisplayMode(self):
     seq_viewer = gui.GostyApp.Instance().GetSequenceViewerV2()
     scene_selection = gui.SceneSelection.Instance()
     for i in range(0,scene_selection.GetActiveNodeCount()):
       node = scene_selection.GetActiveNode(i)
-      seq_viewer.ChangeDisplayMode(node, str(self.display_modes_.currentText()))
+      if (isinstance(node,gfx.GfxNode)) and (node.GetName() == "Scene"):
+        seq_viewer.ChangeDisplayMode(str(self.display_modes_.currentText()))
+      else:
+        seq_viewer.ChangeDisplayMode(node, str(self.display_modes_.currentText()))
     
\ No newline at end of file