I argue that classical counterfactual semantics in the style of Stalnaker, Lewis, and Kratzer validates an inference pattern that is disconfirmed in natural language. The solution is to alter the algorithm we use to handle inconsistency in premise sets: rather than checking all maximally consistent fragments of a premise sets, as in Krazter’s semantics, we selectively remove some of the premises. The proposed implementation starts from standard premise semantics and involves a new ‘filtering’ operation that achieves just this removal. The resulting semantics is interestingly related to the semantics for counterfactuals emerging from Judea Pearl’s causal models framework in computer science: in particular, filtering is a possible worlds sema...