diff --git a/modules/gfx/src/render_options/custom_render_options.cc b/modules/gfx/src/render_options/custom_render_options.cc
index 8d121ca9d5948c6317587247a818094fd349c6da..eb4f62a43957d83045f1155939fb4e0758a2504c 100644
--- a/modules/gfx/src/render_options/custom_render_options.cc
+++ b/modules/gfx/src/render_options/custom_render_options.cc
@@ -46,6 +46,8 @@ void CustomRenderOptions::ApplyRenderOptions(RenderOptionsPtr render_options){
 
   sphere_detail_=options->GetSphereDetail();
   arc_detail_=options->GetArcDetail();
+  sphere_rad_=options->GetSphereRad();
+  bond_rad_=options->GetBondRad();
   this->NotifyStateChange();
 }
 
diff --git a/modules/gui/pymod/scene/cpk_widget.py b/modules/gui/pymod/scene/cpk_widget.py
index 5f6c7de3c5206bed6490293133b8b6ac69f14221..81070180de13f83eb3d817380ed9d1f43a3f8501 100644
--- a/modules/gui/pymod/scene/cpk_widget.py
+++ b/modules/gui/pymod/scene/cpk_widget.py
@@ -61,6 +61,7 @@ class CPKWidget(RenderModeWidget):
     
   def UpdateSphereDetail(self, value):
     self.GetOptions().SetSphereDetail(value)
+    self.ApplyOptions()
     
   def UpdateGui(self,options):
     self.sphere_spinbox_.setValue(options.GetSphereDetail())
diff --git a/modules/gui/pymod/scene/custom_widget.py b/modules/gui/pymod/scene/custom_widget.py
index 9f8c3ffc0b9c08bd72829d0856b841451fc3724d..a778ed436cd9576816e66ebc57a51abce007d35a 100644
--- a/modules/gui/pymod/scene/custom_widget.py
+++ b/modules/gui/pymod/scene/custom_widget.py
@@ -128,7 +128,7 @@ class CustomWidget(RenderModeWidget):
   def UpdateSphereDetail(self, value):
     self.GetOptions().SetSphereDetail(value)
     self.ApplyOptions()
-    
+
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
     self.ApplyOptions()
@@ -137,18 +137,22 @@ class CustomWidget(RenderModeWidget):
     self.GetOptions().SetBondRad(value)
     if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()):
       self.GetOptions().SetSphereRad(value)
+    self.ApplyOptions()
     
   def UpdateSliderBondRadius(self, value):
     self.GetOptions().SetBondRad(value/100.0)
-
+    self.ApplyOptions()
+    
   def UpdateSphereRadius(self, value):
     self.GetOptions().SetSphereRad(value)
     if(self.GetOptions().GetSphereRad()<self.GetOptions().GetBondRad()):
       self.GetOptions().SetBondRad(value)
+    self.ApplyOptions()
     
   def UpdateSliderSphereRadius(self, value):
     self.GetOptions().SetSphereRad(value/100.0)
-
+    self.ApplyOptions()
+    
   def UpdateSphereRadiusGui(self,value):
     if(abs(value*100.0 - self.radius_sphere_slider_.value())>=self.radius_sphere_spinbox_.singleStep()):
       self.radius_sphere_slider_.setValue(value*100.0)
diff --git a/modules/gui/pymod/scene/hsc_widget.py b/modules/gui/pymod/scene/hsc_widget.py
index b5f716a0af5449f5cd49ebb8bbb3137556701fbe..8a0464841f48d262cb074fed1594ff47be9a6d5b 100644
--- a/modules/gui/pymod/scene/hsc_widget.py
+++ b/modules/gui/pymod/scene/hsc_widget.py
@@ -325,70 +325,92 @@ class HSCWidget(RenderModeWidget):
     
   def UpdatePolyMode(self, value):
     self.GetOptions().SetPolyMode(value)
+    self.ApplyOptions()
     
   def UpdateSplineDetail(self, value):
     self.GetOptions().SetSplineDetail(value)
+    self.ApplyOptions()
     
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
+    self.ApplyOptions()
     
   def UpdateTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value)
+    self.ApplyOptions()
     
   def UpdateSliderTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value/10.0)
-
+    self.ApplyOptions()
+    
   def UpdateTubeRatio(self, value):
     self.GetOptions().SetTubeRatio(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderTubeRatio(self, value):
     self.GetOptions().SetTubeRatio(value/10.0)
-
+    self.ApplyOptions()
+    
   def UpdateTubeProfileType(self, value):
     self.GetOptions().SetTubeProfileType(value)
+    self.ApplyOptions()
     
   def UpdateHelixWidth(self, value):
     self.GetOptions().SetHelixWidth(value) 
+    self.ApplyOptions()
     
   def UpdateSliderHelixWidth(self, value):
     self.GetOptions().SetHelixWidth(value/10.0)
+    self.ApplyOptions()
     
   def UpdateHelixThickness(self, value):
     self.GetOptions().SetHelixThickness(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderHelixThickness(self, value):
     self.GetOptions().SetHelixThickness(value/10.0)
+    self.ApplyOptions()
     
   def UpdateHelixEcc(self, value):
     self.GetOptions().SetHelixEcc(value)
+    self.ApplyOptions()
     
   def UpdateHelixProfileType(self, value):
     self.GetOptions().SetHelixProfileType(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderHelixEcc(self, value):
     self.GetOptions().SetHelixEcc(value/10.0)
+    self.ApplyOptions()
     
   def UpdateStrandWidth(self, value):
     self.GetOptions().SetStrandWidth(value)
-
+    self.ApplyOptions()
+    
   def UpdateSliderStrandWidth(self, value):
     self.GetOptions().SetStrandWidth(value/10.0)
+    self.ApplyOptions()
     
   def UpdateStrandThickness(self, value):
     self.GetOptions().SetStrandThickness(value)
+    self.ApplyOptions()
     
   def UpdateSliderStrandThickness(self, value):
     self.GetOptions().SetStrandThickness(value/10.0)
+    self.ApplyOptions()
     
   def UpdateStrandEcc(self, value):
     self.GetOptions().SetStrandEcc(value)
+    self.ApplyOptions()
     
   def UpdateSliderStrandEcc(self, value):
     self.GetOptions().SetStrandEcc(value/10.0)
-
+    self.ApplyOptions()
+    
   def UpdateStrandProfileType(self, value):
     self.GetOptions().SetStrandProfileType(value)
-
+    self.ApplyOptions()
+    
   def UpdateTubeRadiusGui(self,value):
     if(abs(value*10.0 - self.width_tube_slider_.value())>=self.width_tube_spinbox_.singleStep()):
       self.width_tube_slider_.setValue(value*10.0)
diff --git a/modules/gui/pymod/scene/line_trace_widget.py b/modules/gui/pymod/scene/line_trace_widget.py
index 1b06bb96d3e2447f9000a04852b85a32eb61ddbd..fc851034662d0684984c50b901dd8768c4e511d0 100644
--- a/modules/gui/pymod/scene/line_trace_widget.py
+++ b/modules/gui/pymod/scene/line_trace_widget.py
@@ -72,9 +72,11 @@ class LineTraceWidget(RenderModeWidget):
     
   def UpdateAA(self, value):
     self.GetOptions().SetAALines(value)
+    self.ApplyOptions()
     
   def UpdateLineWidth(self, value):
     self.GetOptions().SetLineWidth(value)
+    self.ApplyOptions()
     
   def UpdateGui(self,options):
     self.aa_rendering_cb_.setChecked(options.GetAALines())    
diff --git a/modules/gui/pymod/scene/simple_widget.py b/modules/gui/pymod/scene/simple_widget.py
index 958d8bdc746817ace26df5f2507e2a009f0cdf19..f757f8877cb015bce07082a816914c0bf56fcb41 100644
--- a/modules/gui/pymod/scene/simple_widget.py
+++ b/modules/gui/pymod/scene/simple_widget.py
@@ -92,7 +92,7 @@ class SimpleWidget(RenderModeWidget):
   def UpdateLineWidth(self, value):
     self.GetOptions().SetLineWidth(value)
     self.ApplyOptions()
-
+    
   def UpdateBO(self, value):
     self.GetOptions().SetBondOrderFlag(value)
     self.ApplyOptions()
diff --git a/modules/gui/pymod/scene/sline_widget.py b/modules/gui/pymod/scene/sline_widget.py
index e4bffa439c94536081b653b36d09ede09e7eb554..6b45cb76cf09b1a6f76d12803800e0fb1c907b22 100644
--- a/modules/gui/pymod/scene/sline_widget.py
+++ b/modules/gui/pymod/scene/sline_widget.py
@@ -79,12 +79,15 @@ class SlineWidget(RenderModeWidget):
   
   def UpdateDetail(self, value):
     self.GetOptions().SetSplineDetail(value)
-  
+    self.ApplyOptions()
+    
   def UpdateAA(self, value):
     self.GetOptions().SetAALines(value)
+    self.ApplyOptions()
     
   def UpdateLineWidth(self, value):
     self.GetOptions().SetLineWidth(value)
+    self.ApplyOptions()
     
   def UpdateGui(self,options):
     self.detail_spinbox_.setValue(options.GetSplineDetail())
diff --git a/modules/gui/pymod/scene/trace_widget.py b/modules/gui/pymod/scene/trace_widget.py
index 8fd8a0c16ac09899b8f49ac4fa38e76ba393eeec..a676490714a412de934ae2abf47dda5a3e1105f7 100644
--- a/modules/gui/pymod/scene/trace_widget.py
+++ b/modules/gui/pymod/scene/trace_widget.py
@@ -92,9 +92,11 @@ class TraceWidget(RenderModeWidget):
     
   def UpdatePolyMode(self, value):
     self.GetOptions().SetPolyMode(value)
+    self.ApplyOptions()
         
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
+    self.ApplyOptions()
     
   def UpdateTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value)
@@ -102,7 +104,6 @@ class TraceWidget(RenderModeWidget):
   def UpdateSliderTubeRadius(self, value):
     self.GetOptions().SetTubeRadius(value/10.0)
 
-
   def UpdateTubeRadiusGui(self,value):
     if(abs(value*10.0 - self.width_tube_slider_.value())>=self.width_tube_spinbox_.singleStep()):
       self.width_tube_slider_.setValue(value*10.0)
diff --git a/modules/gui/pymod/scene/tube_widget.py b/modules/gui/pymod/scene/tube_widget.py
index 033d09ea76a74ce255740cb5a95d7c96a219b5fe..e2148ac67126abf5aac0ca312c6a60e9f3e3ccc1 100644
--- a/modules/gui/pymod/scene/tube_widget.py
+++ b/modules/gui/pymod/scene/tube_widget.py
@@ -134,15 +134,19 @@ class TubeWidget(RenderModeWidget):
    
   def UpdatePolyMode(self, value):
     self.GetOptions().SetPolyMode(value)
+    self.ApplyOptions()
     
   def UpdateSplineDetail(self, value):
     self.GetOptions().SetSplineDetail(value)
-    
+    self.ApplyOptions()
+        
   def UpdateArcDetail(self, value):
     self.GetOptions().SetArcDetail(value)
-
+    self.ApplyOptions()
+    
   def UpdateRadius(self, value):
     self.GetOptions().SetTubeRadius(value)
+    self.ApplyOptions()
     
   def UpdateSliderRadius(self, value):
     self.GetOptions().SetTubeRadius(value/10.0)