diff --git a/substrate/core/network/src/protocol/consensus_gossip.rs b/substrate/core/network/src/protocol/consensus_gossip.rs
index 00b8eb9eb047ebc24db71faa8ebe914e1093963b..0fd20092c1d842fc2b6759c11dd7a906fc07fca8 100644
--- a/substrate/core/network/src/protocol/consensus_gossip.rs
+++ b/substrate/core/network/src/protocol/consensus_gossip.rs
@@ -448,6 +448,7 @@ impl<B: BlockT> ConsensusGossip<B> {
 
 		for (_, ref mut peer) in self.peers.iter_mut() {
 			peer.known_messages.retain(|h| known_messages.contains_key(h));
+			peer.filtered_messages.retain(|h, _| known_messages.contains_key(h));
 		}
 	}