diff --git a/Lib/collections.py b/Lib/collections.py
index f0f1fbb..da59608 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -10,7 +10,7 @@
 from keyword import iskeyword as _iskeyword
 import sys as _sys
 import heapq as _heapq
-from weakref import proxy
+from weakref import proxy as _proxy
 from itertools import repeat as _repeat, chain as _chain, starmap as _starmap, \
                       ifilter as _ifilter, imap as _imap, izip as _izip
 
@@ -59,7 +59,7 @@
             root = self.__root
             last = root.prev
             link.prev, link.next, link.key = last, root, key
-            last.next = root.prev = proxy(link)
+            last.next = root.prev = _proxy(link)
         dict.__setitem__(self, key, value)
 
     def __delitem__(self, key):
@@ -131,7 +131,8 @@
 
     def __eq__(self, other):
         if isinstance(other, OrderedDict):
-            return len(self)==len(other) and all(_imap(_eq, self.items(), other.items()))
+            return len(self)==len(other) and \
+                   all(_imap(_eq, self.iteritems(), other.iteritems()))
         return dict.__eq__(self, other)
 
 
