Bug #1196315: fix weakref.WeakValueDictionary constructor.
diff --git a/Lib/weakref.py b/Lib/weakref.py
index c0669b0..09bd0be 100644
--- a/Lib/weakref.py
+++ b/Lib/weakref.py
@@ -43,12 +43,12 @@
     # way in).
 
     def __init__(self, *args, **kw):
-        UserDict.UserDict.__init__(self, *args, **kw)
         def remove(wr, selfref=ref(self)):
             self = selfref()
             if self is not None:
                 del self.data[wr.key]
         self._remove = remove
+        UserDict.UserDict.__init__(self, *args, **kw)
 
     def __getitem__(self, key):
         o = self.data[key]()
diff --git a/Misc/NEWS b/Misc/NEWS
index 637ca2eb1..f15e873 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -141,6 +141,8 @@
 Library
 -------
 
+- Bug #1196315: fix weakref.WeakValueDictionary constructor.
+
 - Bug #1213894: os.path.realpath didn't resolve symlinks that were the first
   component of the path.