diff --git a/hgext/convert/bzr.py b/hgext/convert/bzr.py
--- a/hgext/convert/bzr.py
+++ b/hgext/convert/bzr.py
@@ -123,9 +123,8 @@ class bzr_source(converter_source):
     def getchangedfiles(self, rev, i):
         self._modecache = {}
         curtree = self.sourcerepo.revision_tree(rev)
-        parentids = self._parentids.pop(rev)
         if i is not None:
-            parentid = parentids[i]
+            parentid = self._parentids[rev][i]
         else:
             # no parent id, get the empty revision
             parentid = revision.NULL_REVISION
diff --git a/tests/test-convert-bzr b/tests/test-convert-bzr
--- a/tests/test-convert-bzr
+++ b/tests/test-convert-bzr
@@ -27,6 +27,12 @@ hg manifest -R source-hg -r tip
 echo "% test --rev option"
 hg convert -r 1 source source-1-hg
 glog -R source-1-hg
+echo "% test with filemap"
+cat > filemap <<EOF
+exclude a
+EOF
+hg convert --filemap filemap source source-filemap-hg
+hg -R source-filemap-hg manifest -r tip
 cd ..
 
 echo % merge
diff --git a/tests/test-convert-bzr.out b/tests/test-convert-bzr.out
--- a/tests/test-convert-bzr.out
+++ b/tests/test-convert-bzr.out
@@ -25,6 +25,16 @@ converting...
 0 Initial add: a, c, e
 o  0 "Initial add: a, c, e" files: a c e
 
+% test with filemap
+initializing destination source-filemap-hg repository
+scanning source...
+sorting...
+converting...
+1 Initial add: a, c, e
+0 rename a into b, create a, rename c into d
+b
+d
+f
 % merge
 initializing destination source-hg repository
 scanning source...