diff --git a/hgext/shelve.py b/hgext/shelve.py
index 87428152e820da5bea1eed45e2240dbbb274850d_aGdleHQvc2hlbHZlLnB5..84d6e9a2b104147f4637a5021b33651e7eb5924d_aGdleHQvc2hlbHZlLnB5 100644
--- a/hgext/shelve.py
+++ b/hgext/shelve.py
@@ -152,8 +152,10 @@
             fp.close()
 
     def bundlerepo(self):
-        return bundlerepo.bundlerepository(self.repo.baseui, self.repo.root,
-                                           self.vfs.join(self.fname))
+        path = self.vfs.join(self.fname)
+        return bundlerepo.instance(self.repo.baseui,
+                                   'bundle://%s+%s' % (self.repo.root, path))
+
     def writebundle(self, bases, node):
         cgversion = changegroup.safeversion(self.repo)
         if cgversion == '01':