diff --git a/Fltk/clippingWindow.cpp b/Fltk/clippingWindow.cpp
index 035f25bca84fcc51e57a9fc9f56addba8aa8b591..3db4f65befaf16827c0679b72b8f5107d43ddf1a 100644
--- a/Fltk/clippingWindow.cpp
+++ b/Fltk/clippingWindow.cpp
@@ -173,14 +173,6 @@ static void clip_reset_cb(Fl_Widget *w, void *data)
   drawContext::global()->draw();
 }
 
-static void clip_redraw_cb(Fl_Widget *w, void *data)
-{
-  // force update to make sure to set all planes active/inactive
-  // correctly when switching between the plane et box tabs
-  clip_update_cb(NULL, NULL);
-  drawContext::global()->draw();
-}
-
 clippingWindow::clippingWindow(int deltaFontSize)
 {
   FL_NORMAL_SIZE -= deltaFontSize;
@@ -258,6 +250,7 @@ clippingWindow::clippingWindow(int deltaFontSize)
 
     group[1]->end();
   }
+  o->callback(clip_update_cb); // force update when we switch tabs
   o->end();
 
   butt[0] = new Fl_Check_Button
@@ -276,7 +269,7 @@ clippingWindow::clippingWindow(int deltaFontSize)
   {
     Fl_Return_Button *o = new Fl_Return_Button
       (width - 2 * BB - 2 * WB, height - BH - WB, BB, BH, "Redraw");
-    o->callback(clip_redraw_cb);
+    o->callback(redraw_cb);
   }
   {
     Fl_Button *o = new Fl_Button