diff --git a/src/ChangeLog b/src/ChangeLog
index 3060d10116..090c8d5919 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2001-01-24  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
+
+	* lyx_gui.C (LyXGUI): force the LC_NUMERIC locale to "C" after
+	calling fl_initialize(). This fixes the problem with ',' as
+	decimal separator in text files.
+
 2001-01-24  Dekel Tsur  <dekelts@tau.ac.il>
 
 	* trans.C (process): Fix the keymap bug.
diff --git a/src/lyx_gui.C b/src/lyx_gui.C
index ddff923cc3..b014e3faa5 100644
--- a/src/lyx_gui.C
+++ b/src/lyx_gui.C
@@ -10,6 +10,7 @@
 
 #include <config.h>
 #include <cstdlib>
+#include <clocale>
 
 #ifdef __GNUG__
 #pragma implementation
@@ -108,7 +109,10 @@ LyXGUI::LyXGUI(LyX * owner, int * argc, char * argv[], bool GUI)
 	
 	static const int num_res = sizeof(res)/sizeof(FL_resource);
 	fl_initialize(argc, argv, "LyX", cmdopt, num_res);
-	fl_get_app_resources(res, num_res);
+	// It appears that, in xforms >=0.89.5, fl_initialize()
+	// calls setlocale() and ruins our LC_NUMERIC setting.
+	setlocale(LC_NUMERIC, "C");
+     	fl_get_app_resources(res, num_res);
 
 	static const int geometryBitmask =
 		XParseGeometry( geometry,