diff --git a/blockstack/lib/operations/revoke.py b/blockstack/lib/operations/revoke.py
index <HASH>..<HASH> 100644
--- a/blockstack/lib/operations/revoke.py
+++ b/blockstack/lib/operations/revoke.py
@@ -85,11 +85,16 @@ def check( state_engine, nameop, block_id, checked_ops ):
         log.debug("Name '%s' is revoked" % name)
         return False
 
-    # name must not be expired
+    # name must not be expired as of *this* block
     if state_engine.is_name_expired( name, block_id ):
         log.debug("Name '%s' is expired" % name)
         return False
 
+    # name must not be in grace period in this block
+    if state_engine.is_name_in_grace_period(name, block_id):
+        log.debug("Name '{}' is in the renewal grace period.  It can only be renewed at this time.".format(name))
+        return False
+
     # the name must be registered
     if not state_engine.is_name_registered( name ):
        log.debug("Name '%s' is not registered" % name )
don't allow revoke if we're in the name renewal grace period