diff --git a/hgext/rebase.py b/hgext/rebase.py
index 5b384b7f48d5c4d4b043f5cf7ca78f3f2869846e_aGdleHQvcmViYXNlLnB5..306e84e8bbe9a34a9cf7d6554900dfce774df749_aGdleHQvcmViYXNlLnB5 100644
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -168,7 +168,7 @@
                 raise util.Abort(_('cannot specify both a '
                                    'revision and a source'))
             if detachf:
-                if not srcf:
+                if not (srcf or revf):
                     raise util.Abort(
                         _('detach requires a revision to be specified'))
                 if basef: