diff --git a/httplib2/__init__.py b/httplib2/__init__.py
index f70d7e7..30c2513 100644
--- a/httplib2/__init__.py
+++ b/httplib2/__init__.py
@@ -21,6 +21,7 @@
 __version__ = "$Rev$"
 
 import re 
+import sys 
 import md5
 import email
 import email.Utils
@@ -40,7 +41,12 @@
 import hmac
 from gettext import gettext as _
 from socket import gaierror
-from iri2uri import iri2uri
+
+if sys.version_info >= (2,3):
+    from iri2uri import iri2uri
+else:
+    def iri2uri(uri):
+        return uri
 
 __all__ = ['Http', 'Response', 'HttpLib2Error',
   'RedirectMissingLocation', 'RedirectLimit', 'FailedToDecompressContent', 
diff --git a/httplib2test.py b/httplib2test.py
index fbcd0d7..10a2f26 100755
--- a/httplib2test.py
+++ b/httplib2test.py
@@ -15,7 +15,7 @@
 __version__ = "0.1 ($Rev: 118 $)"
 
 
-import unittest, httplib2, os, urlparse, time, base64
+import sys, unittest, httplib2, os, urlparse, time, base64
 
 
 # Python 2.3 support
@@ -66,7 +66,8 @@
         self.assertEqual(233, len(httplib2.safename(uri2)))
         self.assertEqual(233, len(httplib2.safename(uri)))
         # Unicode
-        self.assertEqual( "xn--http,-4y1d.org,fred,a=b,579924c35db315e5a32e3d9963388193", httplib2.safename(u"http://\u2304.org/fred/?a=b"))
+        if sys.version_info >= (2,3):
+            self.assertEqual( "xn--http,-4y1d.org,fred,a=b,579924c35db315e5a32e3d9963388193", httplib2.safename(u"http://\u2304.org/fred/?a=b"))
 
 
 
@@ -78,11 +79,12 @@
         self.http.clear_credentials()
 
     def testGetIRI(self):
-        uri = urlparse.urljoin(base, u"reflector/reflector.cgi?d=\N{CYRILLIC CAPITAL LETTER DJE}")
-        (response, content) = self.http.request(uri, "GET")
-        d = self.reflector(content)
-        self.assertTrue(d.has_key('QUERY_STRING')) 
-        self.assertTrue(d['QUERY_STRING'].find('%D0%82') > 0) 
+        if sys.version_info >= (2,3):
+            uri = urlparse.urljoin(base, u"reflector/reflector.cgi?d=\N{CYRILLIC CAPITAL LETTER DJE}")
+            (response, content) = self.http.request(uri, "GET")
+            d = self.reflector(content)
+            self.assertTrue(d.has_key('QUERY_STRING')) 
+            self.assertTrue(d['QUERY_STRING'].find('%D0%82') > 0) 
 
     
     def testGetIsDefaultMethod(self):
