diff --git a/hgext/bookmarks.py b/hgext/bookmarks.py
index 82f80c16fc162d5b2783907ddd6229ce17fa2561_aGdleHQvYm9va21hcmtzLnB5..9737041646bc07067f30e4aa19e4a5bfd0e01359_aGdleHQvYm9va21hcmtzLnB5 100644
--- a/hgext/bookmarks.py
+++ b/hgext/bookmarks.py
@@ -200,10 +200,7 @@
             return node
 
         def addchangegroup(self, source, srctype, url, emptyok=False):
-            try:
-                onode = repo.changectx('.').node()
-            except RepoError, inst:
-                pass
+            parents = repo.dirstate.parents()
 
             result = super(bookmark_repo, self).addchangegroup(
                 source, srctype, url, emptyok)
@@ -214,7 +211,7 @@
             marks = parse(repo)
             update = False
             for mark, n in marks.items():
-                if n == onode:
+                if n in parents:
                     marks[mark] = node
                     update = True
             if update:
diff --git a/tests/test-bookmarks-strip b/tests/test-bookmarks-strip
new file mode 100755
index 0000000000000000000000000000000000000000..9737041646bc07067f30e4aa19e4a5bfd0e01359_dGVzdHMvdGVzdC1ib29rbWFya3Mtc3RyaXA=
--- /dev/null
+++ b/tests/test-bookmarks-strip
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+echo "[extensions]" >> $HGRCPATH
+echo "bookmarks=" >> $HGRCPATH
+echo "mq=" >> $HGRCPATH
+
+hg init
+
+echo qqq>qqq.txt
+
+echo % add file
+hg add
+
+echo % commit first revision
+hg ci -m 1 -u user -d "1 0"
+
+echo % set bookmark
+hg book test
+
+echo www>>qqq.txt
+
+echo % commit second revision
+hg ci -m 2 -u usr -d "1 0"
+
+echo % set bookmark
+hg book test2
+
+echo % update to -2
+hg update -r -2
+
+echo eee>>qqq.txt
+
+echo % commit new head
+hg ci -m 3 -u user -d "1 0"
+
+echo % bookmarks updated?
+hg book
+
+echo % strip to revision 1
+hg strip 1 2>&1 | sed 's/\(saving bundle to \).*/\1/'
+
+echo % list bookmarks
+hg book
+
diff --git a/tests/test-bookmarks-strip.out b/tests/test-bookmarks-strip.out
new file mode 100644
index 0000000000000000000000000000000000000000..9737041646bc07067f30e4aa19e4a5bfd0e01359_dGVzdHMvdGVzdC1ib29rbWFya3Mtc3RyaXAub3V0
--- /dev/null
+++ b/tests/test-bookmarks-strip.out
@@ -0,0 +1,24 @@
+% add file
+adding qqq.txt
+% commit first revision
+% set bookmark
+% commit second revision
+% set bookmark
+% update to -2
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% commit new head
+created new head
+% bookmarks updated?
+   test                      1:16b24da7e457
+   test2                     1:16b24da7e457
+% strip to revision 1
+saving bundle to 
+saving bundle to 
+adding branch
+adding changesets
+adding manifests
+adding file changes
+added 1 changesets with 1 changes to 1 files
+% list bookmarks
+ * test                      1:9f1b7e78eff8
+ * test2                     1:9f1b7e78eff8