diff --git a/substrate/client/beefy/src/round.rs b/substrate/client/beefy/src/round.rs
index 7d443603b364e6e25431b524be4074196da66a10..51284c9bd2f6e199d00f1551f51c9aaaa955ef19 100644
--- a/substrate/client/beefy/src/round.rs
+++ b/substrate/client/beefy/src/round.rs
@@ -82,7 +82,11 @@ where
 	}
 
 	pub(crate) fn add_vote(&mut self, round: (H, N), vote: (Public, Signature)) -> bool {
-		self.rounds.entry(round).or_default().add_vote(vote)
+		if self.validator_set.validators.iter().any(|id| vote.0 == *id) {
+			self.rounds.entry(round).or_default().add_vote(vote)
+		} else {
+			false
+		}
 	}
 
 	pub(crate) fn is_done(&self, round: &(H, N)) -> bool {