diff --git a/glom/libglom/data_structure/glomconversions.cc b/glom/libglom/data_structure/glomconversions.cc
index d70bc0d..c3e4d6d 100644
--- a/glom/libglom/data_structure/glomconversions.cc
+++ b/glom/libglom/data_structure/glomconversions.cc
@@ -39,7 +39,7 @@ namespace Glom
 
 Glib::ustring Conversions::format_time(const tm& tm_data)
 {
-  return format_time( tm_data, std::locale("") /* the user's current locale */ ); //Get the current locale.
+  return format_time( tm_data, std::locale() /* the user's current locale */ ); //Get the current locale.
 }
 
 
@@ -55,7 +55,7 @@ Glib::ustring Conversions::format_time(const tm& tm_data, const std::locale& loc
 
 Glib::ustring Conversions::format_date(const tm& tm_data)
 {
-  return format_date( tm_data, std::locale("") /* the user's current locale */ ); //Get the current locale.
+  return format_date( tm_data, std::locale() /* the user's current locale */ ); //Get the current locale.
 }
 
 #define GLOM_NON_TRANSLATED_LOCALE_DATE_FORMAT "%x"
@@ -191,7 +191,7 @@ Glib::ustring Conversions::format_tm(const tm& tm_data, const std::locale& local
   Glib::ustring text = the_stream.str();
   //std::cout << "debug: " << G_STRFUNC << ": result from tp.put: " << text << std::endl;
 
-  if(locale == std::locale("") /* The user's current locale */)
+  if(locale == std::locale() /* The user's current locale */)
   {
     //Converts from the user's current locale to utf8. I would prefer a generic conversion from any locale,
     // but there is no such function, and it's hard to do because I don't know how to get the encoding name from the std::locale()
@@ -260,7 +260,7 @@ class numpunct_no_thousands_separator: public std::numpunct<char>
 
 Glib::ustring Conversions::get_text_for_gda_value(Field::glom_field_type glom_type, const Gnome::Gda::Value& value, const NumericFormat& numeric_format)
 {
-  return get_text_for_gda_value(glom_type, value, std::locale("") /* the user's current locale */, numeric_format); //Get the current locale.
+  return get_text_for_gda_value(glom_type, value, std::locale() /* the user's current locale */, numeric_format); //Get the current locale.
 }
 
 double Conversions::get_double_for_gda_value_numeric(const Gnome::Gda::Value& value)
@@ -444,7 +444,7 @@ Glib::ustring Conversions::get_text_for_gda_value(Field::glom_field_type glom_ty
     another_stream << number;
     Glib::ustring text = another_stream.str();  //Avoid using << because Glib::ustring does implicit character conversion with that.
 
-    if(locale == std::locale("") /* The user's current locale */)
+    if(locale == std::locale() /* The user's current locale */)
     {
       // Converts from the user's current locale to utf8. I would prefer a generic conversion from any locale,
       // but there is no such function, and it's hard to do because I don't know how to get the encoding name from the std::locale()
@@ -515,7 +515,7 @@ Gnome::Gda::Value Conversions::parse_value(Field::glom_field_type glom_type, con
 
 Gnome::Gda::Value Conversions::parse_value(Field::glom_field_type glom_type, const Glib::ustring& text, const NumericFormat& numeric_format, bool& success, bool iso_format)
 {
-  const std::locale the_locale = (iso_format ? std::locale::classic() :  std::locale("") /* The user's current locale */);
+  const std::locale the_locale = (iso_format ? std::locale::classic() :  std::locale() /* The user's current locale */);
 
   //Put a NULL in the database for empty dates, times, and numerics, because 0 would be an actual value.
   //But we use "" for strings, because the distinction between NULL and "" would not be clear to users.
@@ -627,7 +627,7 @@ Gnome::Gda::Value Conversions::parse_value(Field::glom_field_type glom_type, con
 
 tm Conversions::parse_date(const Glib::ustring& text, bool& success)
 {
-  return parse_date( text, std::locale("") /* the user's current locale */, success ); //Get the current locale.
+  return parse_date( text, std::locale() /* the user's current locale */, success ); //Get the current locale.
 }
 
 tm Conversions::parse_date(const Glib::ustring& text, const std::locale& locale, bool& success)
@@ -742,10 +742,10 @@ tm Conversions::parse_date(const Glib::ustring& text, const std::locale& locale,
 
 tm Conversions::parse_time(const Glib::ustring& text, bool& success)
 {
-  //return parse_time( text, std::locale("") /* the user's current locale */ ); //Get the current locale.
+  //return parse_time( text, std::locale() /* the user's current locale */ ); //Get the current locale.
 
   //time_get() does not seem to work with non-C locales.  TODO: Try again.
-  tm the_time = parse_time( text, std::locale("") /* the user's current locale */, success );
+  tm the_time = parse_time( text, std::locale() /* the user's current locale */, success );
   if(success)
   {
     return the_time;
diff --git a/glom/libglom/utils.cc b/glom/libglom/utils.cc
index baa1b7a..532e83e 100644
--- a/glom/libglom/utils.cc
+++ b/glom/libglom/utils.cc
@@ -732,7 +732,7 @@ Glib::ustring Utils::string_from_decimal(guint decimal)
   //TODO_Performance:
 
   std::stringstream stream;
-  stream.imbue(std::locale("")); //Use the user's current locale.
+  stream.imbue(std::locale()); //Use the user's current locale.
   stream << decimal;
 
   Glib::ustring result;
diff --git a/glom/main.cc b/glom/main.cc
index 72e89cb..eb141db 100644
--- a/glom/main.cc
+++ b/glom/main.cc
@@ -445,7 +445,7 @@ main(int argc, char* argv[])
   // but this is maybe a good default in case we forget.
   try
   {
-    std::locale::global(std::locale(""));
+    std::locale::global(std::locale());
   }
   catch(const std::runtime_error& ex)
   {
diff --git a/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc b/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc
index 6eb262e..685c874 100644
--- a/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc
@@ -54,7 +54,7 @@ ComboEntry_BorderWidth::~ComboEntry_BorderWidth()
 Glib::ustring ComboEntry_BorderWidth::string_for_number(double number)
 {
   std::stringstream the_stream;
-  the_stream.imbue(std::locale("")); //The current locale.
+  the_stream.imbue(std::locale()); //The current locale.
   the_stream << number;
   return the_stream.str();
 }
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc b/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc
index 33ee9c9..145a698 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_group_by.cc
@@ -88,7 +88,7 @@ void Dialog_GroupBy::set_item(const sharedptr<const LayoutItem_GroupBy>& item, c
 
   Glib::ustring border_width_as_text;
   std::stringstream the_stream;
-  the_stream.imbue(std::locale("")); //Current locale.
+  the_stream.imbue(std::locale()); //Current locale.
   the_stream << m_layout_item->get_border_width();
   border_width_as_text = the_stream.str();
   m_comboboxentry_border_width->get_entry()->set_text(border_width_as_text);
@@ -97,7 +97,7 @@ void Dialog_GroupBy::set_item(const sharedptr<const LayoutItem_GroupBy>& item, c
 sharedptr<LayoutItem_GroupBy> Dialog_GroupBy::get_item() const
 {
   std::stringstream the_stream;
-  the_stream.imbue(std::locale("")); //Current locale.
+  the_stream.imbue(std::locale()); //Current locale.
   the_stream << m_comboboxentry_border_width->get_entry()->get_text();
 
   double border_width_as_number = 0;
