diff --git a/polkadot/node/core/approval-voting/src/lib.rs b/polkadot/node/core/approval-voting/src/lib.rs index 90c61bf4a0..985cc9d6c5 100644 --- a/polkadot/node/core/approval-voting/src/lib.rs +++ b/polkadot/node/core/approval-voting/src/lib.rs @@ -1288,10 +1288,21 @@ async fn handle_approved_ancestor( ); }, Some(a_entry) => { - let n_assignments = a_entry.n_assignments(); - let n_approvals = c_entry.approvals().count_ones(); - let status = || { + let n_assignments = a_entry.n_assignments(); + + // Take the approvals, filtered by the assignments + // for this block. + let n_approvals = c_entry + .approvals() + .iter() + .by_val() + .enumerate() + .filter(|(i, approved)| { + *approved && a_entry.is_assigned(ValidatorIndex(*i as _)) + }) + .count(); + format!( "{}/{}/{}", n_assignments,