diff --git a/Makefile b/Makefile
index 6c08a9a..f53fa87 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,6 @@
 
 .PHONY: prerelease
 prerelease:
-	python2.4 runtests.py tests --exit_on_failure
 	python2.6 runtests.py tests --exit_on_failure
 	python2.7 runtests.py tests --exit_on_failure
 	-sudo rm -rf dist/
diff --git a/oauth2client/appengine.py b/oauth2client/appengine.py
index 2811069..68d5066 100644
--- a/oauth2client/appengine.py
+++ b/oauth2client/appengine.py
@@ -229,7 +229,7 @@
     self._property_name = property_name
     self._cache = cache
 
-  def get(self):
+  def locked_get(self):
     """Retrieve Credential from datastore.
 
     Returns:
@@ -248,7 +248,7 @@
 
     return credential
 
-  def put(self, credentials):
+  def locked_put(self, credentials):
     """Write a Credentials to the datastore.
 
     Args:
diff --git a/oauth2client/django_orm.py b/oauth2client/django_orm.py
index 581fe8e..5e511db 100644
--- a/oauth2client/django_orm.py
+++ b/oauth2client/django_orm.py
@@ -86,7 +86,7 @@
     self.key_value = key_value
     self.property_name = property_name
 
-  def get(self):
+  def locked_get(self):
     """Retrieve Credential from datastore.
 
     Returns:
@@ -102,7 +102,7 @@
         credential.set_store(self)
     return credential
 
-  def put(self, credentials):
+  def locked_put(self, credentials):
     """Write a Credentials to the datastore.
 
     Args:
diff --git a/oauth2client/file.py b/oauth2client/file.py
index 89140b8..60a6385 100644
--- a/oauth2client/file.py
+++ b/oauth2client/file.py
@@ -46,20 +46,32 @@
     self._filename = filename
     self._lock = threading.Lock()
 
-  def get(self):
+  def acquire_lock(self):
+    """Acquires any lock necessary to access this Storage.
+
+    This lock is not reentrant."""
+    self._lock.acquire()
+
+  def release_lock(self):
+    """Release the Storage lock.
+
+    Trying to release a lock that isn't held will result in a
+    RuntimeError.
+    """
+    self._lock.release()
+
+  def locked_get(self):
     """Retrieve Credential from file.
 
     Returns:
       oauth2client.client.Credentials
     """
-    self._lock.acquire()
     credentials = None
     try:
       f = open(self._filename, 'r')
       content = f.read()
       f.close()
     except IOError:
-      self._lock.release()
       return credentials
 
     # First try reading as JSON, and if that fails fall back to pickle.
@@ -74,19 +86,15 @@
         credentials.set_store(self)
       except:
         pass
-    finally:
-      self._lock.release()
 
     return credentials
 
-  def put(self, credentials):
+  def locked_put(self, credentials):
     """Write Credentials to file.
 
     Args:
       credentials: Credentials, the credentials to store.
     """
-    self._lock.acquire()
     f = open(self._filename, 'w')
     f.write(credentials.to_json())
     f.close()
-    self._lock.release()
diff --git a/samples/django_sample/buzz/views.py b/samples/django_sample/buzz/views.py
index d89af6d..c942aaf 100644
--- a/samples/django_sample/buzz/views.py
+++ b/samples/django_sample/buzz/views.py
@@ -24,8 +24,8 @@
   credential = storage.get()
   if credential is None or credential.invalid == True:
     flow = OAuth2WebServerFlow(
-        client_id='887851474342.apps.googleusercontent.com',
-        client_secret='6V9MHBUQqOQtxI7uXPIEnV8e',
+        client_id='837647042410.apps.googleusercontent.com',
+        client_secret='+SWwMCL9d8gWtzPRa1lXw5R8',
         scope='https://www.googleapis.com/auth/buzz',
         user_agent='buzz-django-sample/1.0',
         )
diff --git a/tests/test_oauth2client_file.py b/tests/test_oauth2client_file.py
index 05deaa0..5ada4a3 100644
--- a/tests/test_oauth2client_file.py
+++ b/tests/test_oauth2client_file.py
@@ -22,6 +22,7 @@
 
 __author__ = 'jcgregorio@google.com (Joe Gregorio)'
 
+import copy
 import os
 import pickle
 import unittest
@@ -38,6 +39,7 @@
     # Should work for Python2.6 and higher.
     import json as simplejson
 
+from apiclient.http import HttpMockSequence
 
 from oauth2client.client import OAuth2Credentials
 from oauth2client.client import AccessTokenCredentials
@@ -104,6 +106,32 @@
     self.assertEquals(data['_class'], 'OAuth2Credentials')
     self.assertEquals(data['_module'], 'oauth2client.client')
 
+  def test_token_refresh(self):
+    # Write a file with a pickled OAuth2Credentials.
+    access_token = 'foo'
+    client_id = 'some_client_id'
+    client_secret = 'cOuDdkfjxxnv+'
+    refresh_token = '1/0/a.df219fjls0'
+    token_expiry = datetime.datetime.utcnow()
+    token_uri = 'https://www.google.com/accounts/o8/oauth2/token'
+    user_agent = 'refresh_checker/1.0'
+
+    credentials = OAuth2Credentials(
+        access_token, client_id, client_secret,
+        refresh_token, token_expiry, token_uri,
+        user_agent)
+
+    s = Storage(FILENAME)
+    s.put(credentials)
+    credentials = s.get()
+    new_cred = copy.copy(credentials)
+    new_cred.access_token = 'bar'
+    s.put(new_cred)
+
+    credentials._refresh(lambda x: x)
+    self.assertEquals(credentials.access_token, 'bar')
+
+
   def test_access_token_credentials(self):
     access_token = 'foo'
     user_agent = 'refresh_checker/1.0'
