diff --git a/memoize/redis.py b/memoize/redis.py
index <HASH>..<HASH> 100644
--- a/memoize/redis.py
+++ b/memoize/redis.py
@@ -50,8 +50,8 @@ class Lock(object):
                self.db.getset(self.key, expires) == current_value:
                     return True
 
-            timeout -= delay
             sleep(min(timeout, delay))
+            timeout -= delay
             delay *= 2
 
         return False
Prevent sleep from being given a negative value