diff --git a/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs b/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs index ba2bd95c8bba0e5aa5fd0994a931a8cc04e58671..3764e3c93a0fdb7d3ca966da4211318d07fa6686 100644 --- a/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs +++ b/lib/modules-lib/bc-db-reader/src/entities/fork_tree.rs @@ -452,6 +452,17 @@ impl ForkTree { self.nodes[root_node_id.0] = None; self.sheets.remove(&root_node_id); self.root = Some(root_node_main_child_id); + + // Remove orphan sheets + for (tree_node_id, _) in self.get_sheets() { + if let Some(node_opt) = self.nodes.get(tree_node_id.0) { + if node_opt.is_none() { + self.sheets.remove(&tree_node_id); + } + } else { + self.sheets.remove(&tree_node_id); + } + } } /// Return removed blockstamps