diff --git a/mercurial/commands.py b/mercurial/commands.py
index 67eeb7421d8d4f989fd06ee25497c7da5df7a982_bWVyY3VyaWFsL2NvbW1hbmRzLnB5..c953e26f37346b054831b97f694b7aa12076ed7d_bWVyY3VyaWFsL2NvbW1hbmRzLnB5 100644
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1347,6 +1347,8 @@
         if dest:
             raise error.Abort(_("--all is incompatible with specifying "
                                 "a destination"))
+        if opts.get('base'):
+            ui.warn(_("ignoring --base because --all was specified\n"))
         base = ['null']
     else:
         base = scmutil.revrange(repo, opts.get('base'))
diff --git a/tests/test-bundle-r.t b/tests/test-bundle-r.t
index 67eeb7421d8d4f989fd06ee25497c7da5df7a982_dGVzdHMvdGVzdC1idW5kbGUtci50..c953e26f37346b054831b97f694b7aa12076ed7d_dGVzdHMvdGVzdC1idW5kbGUtci50 100644
--- a/tests/test-bundle-r.t
+++ b/tests/test-bundle-r.t
@@ -174,6 +174,9 @@
   4 changesets found
   $ hg -R test bundle --base 2 test-bundle-all.hg
   6 changesets found
+  $ hg -R test bundle --base 2 --all test-bundle-all-2.hg
+  ignoring --base because --all was specified
+  9 changesets found
   $ hg -R test bundle --base 3 -r tip test-bundle-should-fail.hg
   1 changesets found