diff --git a/core/capabilities/don_notifier.go b/core/capabilities/don_notifier.go index c40bea80e01..407a96c8862 100644 --- a/core/capabilities/don_notifier.go +++ b/core/capabilities/don_notifier.go @@ -74,8 +74,12 @@ func (n *donNotifier) Subscribe(ctx context.Context) (<-chan capabilities.DON, f n.subscribers.Store(s, struct{}{}) - if n.don.Load() != nil { - s <- *n.don.Load() + if d := n.don.Load(); d != nil { + select { + case s <- *d: + default: + // Channel already has a value from a concurrent NotifyDonSet. + } } return s, unsubscribe, nil