Harmful acts are punished more often and more harshly than harmful omissions. This asymmetry has variously been ascribed to differences in how individuals perceive the causal responsibility of acts versus omissions and to social norms that tend to proscribe acts more frequently than omissions. This paper examines both of these hypotheses, in conjunction with a new hypothesis: that acts are punished more than omissions because it is usually more efficient to do so. In typical settings, harms occur as a result of relatively few harmful actions, but many individuals may have had the opportunity to prevent or rectify the harm. Penalising actors therefore requires relatively few punishment events compared to punishing omitters. We employ a novel group paradigm in which harm occurs only if both actors and omitters contribute to the harm. Subjects play a repeated economic game in fixed groups involving a social dilemma (total N = 580): on each round self-interest favours harmful actions (taking from another) and harmful omissions (failing to repair the victim’s loss), but the group payoff is maximized if individuals refrain from these behaviors. In one treatment harm occurs as a result of one action and two omissions; in the other, it is the result of two actions and one omission. In the second treatment, the more efficient strategy to maximize group benefit is to punish omissions. We find that subjects continue to prefer to punish acts rather than omissions, with two important caveats. There is still a substantial level of punishment of omissions, and there is also evidence of some responsiveness to the opportunity to enforce a more efficient rule. Further analysis addresses whether the omission effect is associated with asymmetric norm-based attitudes: a substantial proportion of subjects regard it as equally fair to punish harmful acts and omissions, while another portion endorse an asymmetry; and punishment behavior correlates with these attitudes in both groups.