diff --git a/mercurial/hg.py b/mercurial/hg.py
index d6ecdb8bfa16e7aed4f29b30fb094287156408ed_bWVyY3VyaWFsL2hnLnB5..5b6cd8526d56932b68479848fc749d7a11727c93_bWVyY3VyaWFsL2hnLnB5 100644
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -413,7 +413,8 @@
             if destpeer.local():
                 destpeer.local().clone(srcpeer, heads=revs, stream=stream)
             elif srcrepo:
-                exchange.push(srcrepo, destpeer, revs=revs)
+                exchange.push(srcrepo, destpeer, revs=revs,
+                              bookmarks=srcrepo._bookmarks.keys())
             else:
                 raise util.Abort(_("clone from remote to remote not supported"))
 
diff --git a/tests/test-init.t b/tests/test-init.t
index d6ecdb8bfa16e7aed4f29b30fb094287156408ed_dGVzdHMvdGVzdC1pbml0LnQ=..5b6cd8526d56932b68479848fc749d7a11727c93_dGVzdHMvdGVzdC1pbml0LnQ= 100644
--- a/tests/test-init.t
+++ b/tests/test-init.t
@@ -220,5 +220,6 @@
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files
+  exporting bookmark test
   $ hg -R remote-bookmarks bookmarks
      test                      0:08b9e9f63b32