diff --git a/Lib/collections.py b/Lib/collections.py
index c69f4ca..d0a44c2 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -52,7 +52,7 @@
             self.__root = root = _proxy(self.__hardroot)
             root.prev = root.next = root
             self.__map = {}
-        self.update(*args, **kwds)
+        self.__update(*args, **kwds)
 
     def __setitem__(self, key, value,
                     dict_setitem=dict.__setitem__, proxy=_proxy, Link=_Link):
@@ -171,7 +171,7 @@
         size += sizeof(self.__root) * n         # proxy objects
         return size
 
-    update = MutableMapping.update
+    update = __update = MutableMapping.update
     pop = MutableMapping.pop
     keys = MutableMapping.keys
     values = MutableMapping.values
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index 32ce35b..8c95979 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -1012,6 +1012,14 @@
         od = OrderedDict(**d)
         self.assertGreater(sys.getsizeof(od), sys.getsizeof(d))
 
+    def test_override_update(self):
+        # Verify that subclasses can override update() without breaking __init__()
+        class MyOD(OrderedDict):
+            def update(self, *args, **kwds):
+                raise Exception()
+        items = [('a', 1), ('c', 3), ('b', 2)]
+        self.assertEqual(list(MyOD(items).items()), items)
+
 class GeneralMappingTests(mapping_tests.BasicTestMappingProtocol):
     type2test = OrderedDict
 
