diff --git a/Doc/library/userdict.rst b/Doc/library/userdict.rst
index 7d36401..b0ef645 100644
--- a/Doc/library/userdict.rst
+++ b/Doc/library/userdict.rst
@@ -178,6 +178,9 @@
    mutable object as dictionary key, which would be otherwise very error prone and
    hard to track down.
 
+   .. deprecated:: 2.6
+      The :class:`MutableString` class has been removed in Python 3.0.
+
 In addition to supporting the methods and operations of string and Unicode
 objects (see section :ref:`string-methods`), :class:`UserString` instances
 provide the following attribute:
diff --git a/Lib/UserString.py b/Lib/UserString.py
index 4ef2265..4460797 100755
--- a/Lib/UserString.py
+++ b/Lib/UserString.py
@@ -146,6 +146,9 @@
 
     A faster and better solution is to rewrite your program using lists."""
     def __init__(self, string=""):
+        from warnings import warnpy3k
+        warnpy3k('the class UserString.MutableString has been removed in '
+                    'Python 3.0', stacklevel=2)
         self.data = string
     def __hash__(self):
         raise TypeError, "unhashable type (it is mutable)"
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index d023e4b..eed46d1 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -219,6 +219,14 @@
                 func = getattr(commands, name)
                 self.assertRaises(DeprecationWarning, func, *([None]*arg_count))
 
+    def test_mutablestring_removal(self):
+        # UserString.MutableString has been removed in 3.0.
+        import UserString
+        with catch_warning(record=False):
+            warnings.filterwarnings("error", ".*MutableString",
+                                    DeprecationWarning)
+            self.assertRaises(DeprecationWarning, UserString.MutableString)
+
 
 def test_main():
     with catch_warning(record=True):
diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py
index 06636fc..cae610e 100755
--- a/Lib/test/test_userstring.py
+++ b/Lib/test/test_userstring.py
@@ -4,8 +4,8 @@
 
 import string
 from test import test_support, string_tests
-
 from UserString import UserString, MutableString
+import warnings
 
 class UserStringTest(
     string_tests.CommonTest,
@@ -135,7 +135,10 @@
         self.assertEqual(s, "")
 
 def test_main():
-    test_support.run_unittest(UserStringTest, MutableStringTest)
+    with test_support.catch_warning(record=False):
+        warnings.filterwarnings("ignore", ".*MutableString",
+                                DeprecationWarning)
+        test_support.run_unittest(UserStringTest, MutableStringTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Misc/NEWS b/Misc/NEWS
index e5f251a..b3202b8 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -63,6 +63,9 @@
 Library
 -------
 
+Issue #2877 - The UserString.MutableString class has been removed in
+			  Python 3.0.
+
 - Do not close external file objects passed to tarfile.open(mode='w:bz2')
   when the TarFile is closed.
 
