diff --git a/mercurial/hg.py b/mercurial/hg.py
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -31,6 +31,7 @@ from . import (
     merge as mergemod,
     node,
     phases,
+    remotenames,
     repoview,
     scmutil,
     sshpeer,
@@ -689,6 +690,9 @@ def clone(ui, peeropts, source, dest=Non
 
             destrepo.ui.setconfig('paths', 'default', defaulturl, 'clone')
 
+            if ui.configbool('experimental', 'remotenames'):
+                remotenames.pullremotenames(destrepo, srcpeer)
+
             if update:
                 if update is not True:
                     checkout = srcpeer.lookup(update)
diff --git a/tests/test-remotenames.t b/tests/test-remotenames.t
--- a/tests/test-remotenames.t
+++ b/tests/test-remotenames.t
@@ -4,6 +4,8 @@ Testing the functionality to pull remote
   $ cat >> $HGRCPATH << EOF
   > [alias]
   > glog = log -G -T '{rev}:{node|short}  {desc}'
+  > [experimental]
+  > remotenames = True
   > EOF
 
 Making a server repo
@@ -46,25 +48,12 @@ Making a client repo
 --------------------
 
   $ cd ..
-  $ hg init client
-  $ cd client
-  $ cat >> .hg/hgrc << EOF
-  > [experimental]
-  > remotenames = True
-  > EOF
 
-  $ hg pull ../server/
-  pulling from ../server/
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 9 changesets with 9 changes to 9 files (+1 heads)
-  adding remote bookmark bar
-  adding remote bookmark foo
-  new changesets 18d04c59bb5d:3e1487808078
-  (run 'hg heads' to see heads)
+  $ hg clone server client
+  updating to branch default
+  8 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
+  $ cd client
   $ cat .hg/remotenames/bookmarks
   0