diff --git a/project.py b/project.py
index 49da34a..1b0769a 100644
--- a/project.py
+++ b/project.py
@@ -1645,6 +1645,15 @@
       if self._allrefs:
         raise GitError('%s cherry-pick %s ' % (self.name, rev))
 
+  def _Revert(self, rev, quiet=False):
+    cmd = ['revert']
+    cmd.append('--no-edit')
+    cmd.append(rev)
+    cmd.append('--')
+    if GitCommand(self, cmd).Wait() != 0:
+      if self._allrefs:
+        raise GitError('%s revert %s ' % (self.name, rev))
+
   def _ResetHard(self, rev, quiet=True):
     cmd = ['reset', '--hard']
     if quiet:
diff --git a/subcmds/download.py b/subcmds/download.py
index 79d0192..f79f485 100644
--- a/subcmds/download.py
+++ b/subcmds/download.py
@@ -36,6 +36,9 @@
     p.add_option('-c','--cherry-pick',
                  dest='cherrypick', action='store_true',
                  help="cherry-pick instead of checkout")
+    p.add_option('-r','--revert',
+                 dest='revert', action='store_true',
+                 help="revert instead of checkout")
 
   def _ParseChangeIds(self, args):
     if not args:
@@ -68,7 +71,7 @@
           % (project.name, change_id, ps_id)
         sys.exit(1)
 
-      if not dl.commits:
+      if not opt.revert and not dl.commits:
         print >>sys.stderr, \
           '[%s] change %d/%d has already been merged' \
           % (project.name, change_id, ps_id)
@@ -82,5 +85,7 @@
           print >>sys.stderr, '  %s' % (c)
       if opt.cherrypick:
         project._CherryPick(dl.commit)
+      elif opt.revert:
+        project._Revert(dl.commit)
       else:
         project._Checkout(dl.commit)
