diff --git a/Lib/collections.py b/Lib/collections.py
index fb9464f..9381f51 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -101,10 +101,9 @@
     def __reduce__(self):
         'Return state information for pickling'
         items = [[k, self[k]] for k in self]
-        tmp = self.__map, self.__root, self.__in_repr
-        del self.__map, self.__root, self.__in_repr
         inst_dict = vars(self).copy()
-        self.__map, self.__root, self.__in_repr = tmp
+        for k in vars(self.__class__()):
+            inst_dict.pop(k, None)
         if inst_dict:
             return (self.__class__, (items,), inst_dict)
         return self.__class__, (items,)
diff --git a/Misc/NEWS b/Misc/NEWS
index c424e1e..7e95d80 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -58,6 +58,9 @@
 - Issue #11467: Fix urlparse behavior when handling urls which contains scheme
   specific part only digits. Patch by Santoso Wijaya.
 
+- Issue #11875: collections.OrderedDict's __reduce__ was temporarily
+  mutating the object instead of just working on a copy.
+
 - collections.Counter().copy() now works correctly for subclasses.
 
 - Issue #11474: Fix the bug with url2pathname() handling of '/C|/' on Windows.
