diff --git a/src/libpspp/i18n.c b/src/libpspp/i18n.c
index 0819299..21fc91b 100644
--- a/src/libpspp/i18n.c
+++ b/src/libpspp/i18n.c
@@ -660,22 +660,28 @@ get_system_decimal (void)
 {
   char radix_char;
 
+  char *x;
   char *ol = xstrdup (setlocale (LC_NUMERIC, NULL));
-  setlocale (LC_NUMERIC, "");
+  printf ("%s:%d %s\n", __FILE__, __LINE__, ol);
+  x = setlocale (LC_NUMERIC, "");
+  printf ("%s:%d %s\n", __FILE__, __LINE__, x);
 
 #if HAVE_NL_LANGINFO
   radix_char = nl_langinfo (RADIXCHAR)[0];
+  printf ("%s:%d %c\n", __FILE__, __LINE__, radix_char);
 #else
   {
     char buf[10];
     snprintf (buf, sizeof buf, "%f", 2.5);
     radix_char = buf[1];
+    printf ("%s:%d %c\n", __FILE__, __LINE__, radix_char);
   }
 #endif
 
   /* We MUST leave LC_NUMERIC untouched, since it would
      otherwise interfere with data_{in,out} */
-  setlocale (LC_NUMERIC, ol);
+  x = setlocale (LC_NUMERIC, ol);
+  printf ("%s:%d %s\n", __FILE__, __LINE__, x);
   free (ol);
   return radix_char;
 }
