diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index b7621b1d9..d5b6c73b0 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-22  Corinna Vinschen  <corinna@vinschen.de>
+
+	* strfuncs.cc (__set_charset_from_codepage): Add codepages 20866
+	(KOI8-R) and 21866 (KOI8-U).
+
 2009-08-21  Christopher Faylor  <me+cygwin@cgf.cx>
 
 	* dll_init.h (has_dtors): New flag.
diff --git a/winsup/cygwin/strfuncs.cc b/winsup/cygwin/strfuncs.cc
index 4d66dd527..e16d94d86 100644
--- a/winsup/cygwin/strfuncs.cc
+++ b/winsup/cygwin/strfuncs.cc
@@ -339,6 +339,8 @@ __set_charset_from_codepage (UINT cp, char *charset)
     case 1256:
     case 1257:
     case 1258:
+    case 20866:
+    case 21866:
       __small_sprintf (charset, "CP%u", cp);
       return __cp_mbtowc;
     case 28591:
diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog
index fdd3a5399..3fb8cfaeb 100644
--- a/winsup/doc/ChangeLog
+++ b/winsup/doc/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-22  Corinna Vinschen  <corinna@vinschen.de>
+
+	* setup2.sgml (setup-locale-charsetlist): Add KOI8-R and KOI8-U to list
+	of supported charsets.
+
 2009-08-22  Corinna Vinschen  <corinna@vinschen.de>
 
 	* setup2.sgml (setup-locale-charsetlist): Add description of
diff --git a/winsup/doc/setup2.sgml b/winsup/doc/setup2.sgml
index e102c0714..fa63a9e23 100644
--- a/winsup/doc/setup2.sgml
+++ b/winsup/doc/setup2.sgml
@@ -463,6 +463,8 @@ of the "CPxxx" style charsets, always use them with the trailing "CP".</para>
     ISO-8859-15           28605 (ISO-8859-15)
     ISO-8859-16             -   (not available)
 
+    KOI8-R                20866 (KOI8-R Russian Cyrillic)
+    KOI8-U                21866 (KOI8-U Ukrainian Cyrillic)
     SJIS                    932 (ANSI/OEM Japanese)
     GBK                     936 (ANSI/OEM Simplified Chinese)
     Big5                    950 (ANSI/OEM Traditional Chinese)