diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py
index e9f06a5..cc00fd9 100644
--- a/Lib/_abcoll.py
+++ b/Lib/_abcoll.py
@@ -480,7 +480,15 @@
         except KeyError:
             pass
 
-    def update(self, other=(), **kwds):
+    def update(*args, **kwds):
+        if len(args) > 2:
+            raise TypeError("update() takes at most 2 positional "
+                            "arguments ({} given)".format(len(args)))
+        elif not args:
+            raise TypeError("update() takes at least 1 argument (0 given)")
+        self = args[0]
+        other = args[1] if len(args) >= 2 else ()
+
         if isinstance(other, Mapping):
             for key in other:
                 self[key] = other[key]
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index e595b75..69c4a9f 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -758,6 +758,19 @@
         od.update([('a', 1), ('b', 2), ('c', 9), ('d', 4)], c=3, e=5)
         self.assertEqual(list(od.items()), pairs)                                   # mixed input
 
+        # Issue 9137: Named argument called 'other' or 'self'
+        # shouldn't be treated specially.
+        od = OrderedDict()
+        od.update(self=23)
+        self.assertEqual(list(od.items()), [('self', 23)])
+        od = OrderedDict()
+        od.update(other={})
+        self.assertEqual(list(od.items()), [('other', {})])
+        od = OrderedDict()
+        od.update(red=5, blue=6, other=7, self=8)
+        self.assertEqual(sorted(list(od.items())),
+                         [('blue', 6), ('other', 7), ('red', 5), ('self', 8)])
+
         # Make sure that direct calls to update do not clear previous contents
         # add that updates items are not moved to the end
         d = OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 44), ('e', 55)])
diff --git a/Misc/NEWS b/Misc/NEWS
index 474ae02..1b0c3d1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -473,6 +473,9 @@
 Library
 -------
 
+- Issue #9137: Fix issue in MutableMapping.update, which incorrectly
+  treated keyword arguments called 'self' or 'other' specially.
+
 - ``ast.literal_eval()`` now allows set literals.
 
 - Issue #9164: Ensure that sysconfig handles duplicate -arch flags in CFLAGS.
