diff --git a/store/src/prune_list.rs b/store/src/prune_list.rs index 0acb6d9fa..b5c3ebe6d 100644 --- a/store/src/prune_list.rs +++ b/store/src/prune_list.rs @@ -236,9 +236,10 @@ impl PruneList { loop { let (parent, sibling) = family(current); if self.is_pruned_root(sibling) { - self.bitmap.remove(sibling as u32); current = parent; } else { + // replace the entire subtree with the single pruned root + self.bitmap.remove_range(pmmr::bintree_range(current)); self.bitmap.add(current as u32); break; }