diff --git a/Fltk/GUI_Extras.cpp b/Fltk/GUI_Extras.cpp
index fb7c29364053757bec0b28fe8ff2628f3c845f38..5009927efaf546ff003dc671a1c12700a7777b72 100644
--- a/Fltk/GUI_Extras.cpp
+++ b/Fltk/GUI_Extras.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI_Extras.cpp,v 1.8 2005-02-05 21:49:00 geuzaine Exp $
+// $Id: GUI_Extras.cpp,v 1.9 2005-02-05 22:20:51 geuzaine Exp $
 //
 // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle
 //
@@ -60,14 +60,6 @@ int file_chooser(int multi, int create, const char *message,
     fc->position(CTX.file_chooser_position[0], CTX.file_chooser_position[1]);
   }
 
-  fc->label(message);
-
-  if(fname)
-    fc->value(fname);
-
-  fc->filter(thefilter);
-  fc->filter_value(thefilterindex);
-
   if(multi)
     fc->type(Fl_File_Chooser::MULTI);
   else if(create)
@@ -75,6 +67,12 @@ int file_chooser(int multi, int create, const char *message,
   else
     fc->type(Fl_File_Chooser::SINGLE);
 
+  fc->label(message);
+  fc->filter(thefilter);
+  fc->filter_value(thefilterindex);
+  if(fname)
+    fc->value(fname);
+
   fc->show();
 
   while(fc->shown())