--- a/paste/debug/fsdiff.py
+++ b/paste/debug/fsdiff.py
@@ -12,10 +12,14 @@
 import os
 from fnmatch import fnmatch
 from datetime import datetime
+
 try:
-    from UserDict import IterableUserDict
+    import collections.UserDict as IterableUserDict
 except ImportError:
-    from paste.util.UserDict24 import IterableUserDict
+    try:
+        from UserDict import IterableUserDict
+    except ImportError:
+        from paste.util.UserDict24 import IterableUserDict
 import operator
 import re
 
--- a/paste/request.py
+++ b/paste/request.py
@@ -22,10 +22,12 @@
 from StringIO import StringIO
 import urlparse
 import urllib
+
 try:
     from UserDict import DictMixin
 except ImportError:
-    from paste.util.UserDict24 import DictMixin
+    from collections import MutableMapping as DictMixin
+
 from paste.util.multidict import MultiDict
 
 __all__ = ['get_cookies', 'get_cookie_dict', 'parse_querystring',
--- a/paste/urlmap.py
+++ b/paste/urlmap.py
@@ -4,7 +4,10 @@
 Map URL prefixes to WSGI applications.  See ``URLMap``
 """
 
-from UserDict import DictMixin
+try:
+    from UserDict import DictMixin
+except ImportError:
+    from collections import MutableMapping as DictMixin
 import re
 import os
 import cgi
--- a/paste/util/multidict.py
+++ b/paste/util/multidict.py
@@ -3,7 +3,11 @@
 import cgi
 import copy
 import sys
-from UserDict import DictMixin
+
+try:
+    from UserDict import DictMixin
+except ImportError:
+    from collections import MutableMapping as DictMixin
 
 class MultiDict(DictMixin):
 
