diff --git a/modules/gui/pymod/scene/tube_widget.py b/modules/gui/pymod/scene/tube_widget.py
index e1fa92c6727e7b21e6230a485e15fd88d28a1afa..561728800025d751e125820b2edd8e943270724e 100644
--- a/modules/gui/pymod/scene/tube_widget.py
+++ b/modules/gui/pymod/scene/tube_widget.py
@@ -158,14 +158,18 @@ class TubeWidget(RenderModeWidget):
     self.GetOptions().SetTubeRatio(value/10.0)
 
   def UpdateRadiusGui(self,value):
-    if(abs(value*10.0 - self.radius_slider_.value())>=self.radius_spinbox_.singleStep()):
+    value = round(value, 2)
+    if(abs(value*10.0 - self.radius_slider_.value())>=self.radius_slider_.singleStep()):
       self.radius_slider_.setValue(value*10.0)
-    self.radius_spinbox_.setValue(value)
+    if(abs(value - self.radius_spinbox_.value())>=self.radius_spinbox_.singleStep()):
+      self.radius_spinbox_.setValue(value)
   
   def UpdateRatioGui(self,value):
-    if(abs(value*10.0 - self.ratio_slider_.value())>=self.ratio_spinbox_.singleStep()):
+    value = round(value, 2)
+    if(abs(value*10.0 - self.ratio_slider_.value())>=self.ratio_slider_.singleStep()):
       self.ratio_slider_.setValue(value*10.0)
-    self.ratio_spinbox_.setValue(value)
+    if(abs(value - self.ratio_spinbox_.value())>=self.ratio_spinbox_.singleStep()):
+      self.ratio_spinbox_.setValue(value)
 
   def GetText(self):
     return self.text_