diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 616ed13d3ef96f9d3fe272b263bb687c59c10499..b57e2f00c6cf1e22e6eebf856f00ea1120256514 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2004-08-12  Jan Beulich  <jbeulich@novell.com>
+
+	* config/locale/generic/ctype_members.cc
+	(ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
+	initializer for return value, as that is invalid for enumerated	types.
+	* config/locale/gnu/ctype_members.cc
+	(ctype<wchar_t>::_M_convert_to_wmask): Likewise.
+
 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
 
 	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index af994cbf46a200408c42329ff1030915aeec9313..835802080b685a5c9af62f3a75fd09218f23e588 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -91,7 +91,7 @@ namespace std
 	__ret = wctype("graph");
 	break;
       default:
-	__ret = 0;
+	__ret = __wmask_type();
       }
     return __ret;
   };
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index 7c53c15831db618cc3e25030ccb356cdbcb7ec58..fcb0551b3829db2ab73b121f6613b597940bba3c 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -95,7 +95,7 @@ namespace std
 	__ret = __wctype_l("graph", _M_c_locale_ctype);
 	break;
       default:
-	__ret = 0;
+	__ret = __wmask_type();
       }
     return __ret;
   }