diff --git a/tests/test_oauth2client_appengine.py b/tests/test_oauth2client_appengine.py
index e613f2b..b6541ba 100644
--- a/tests/test_oauth2client_appengine.py
+++ b/tests/test_oauth2client_appengine.py
@@ -32,17 +32,11 @@
 import urllib
 
 try:
-    from urlparse import parse_qs
+  from urlparse import parse_qs
 except ImportError:
-    from cgi import parse_qs
+  from cgi import parse_qs
 
 import dev_appserver
-_EXTRA_PATHS = dev_appserver.EXTRA_PATHS
-_DIR_PATH = _EXTRA_PATHS[0]
-_OLD_WEBOB = os.path.join(_DIR_PATH, 'lib', 'webob_0_9')
-_WEBOB_INDEX = _EXTRA_PATHS.index(_OLD_WEBOB)
-_NEW_WEBOB = os.path.join(_DIR_PATH, 'lib', 'webob-1.2.3')
-_EXTRA_PATHS[_WEBOB_INDEX] = _NEW_WEBOB
 dev_appserver.fix_sys_path()
 import webapp2
 
@@ -91,16 +85,16 @@
 
 
 class CacheMock(object):
-    def __init__(self):
-      self.cache = {}
+  def __init__(self):
+    self.cache = {}
 
-    def get(self, key, namespace=''):
-      # ignoring namespace for easier testing
-      return self.cache.get(key, None)
+  def get(self, key, namespace=''):
+    # ignoring namespace for easier testing
+    return self.cache.get(key, None)
 
-    def set(self, key, value, namespace=''):
-      # ignoring namespace for easier testing
-      self.cache[key] = value
+  def set(self, key, value, namespace=''):
+    # ignoring namespace for easier testing
+    self.cache[key] = value
 
 
 class UserMock(object):
diff --git a/tox.ini b/tox.ini
index b0feaa6..e2e99ba 100644
--- a/tox.ini
+++ b/tox.ini
@@ -10,4 +10,9 @@
        webtest
        nose
 setenv = PYTHONPATH=../google_appengine
+
+[testenv:py26]
+commands = nosetests --ignore-files=test_oauth2client_appengine\.py
+
+[testenv:py27]
 commands = nosetests
