Many social dilemmas exhibit nonlinearities and equilibrium outcomes in the interior of the choice space. This paper reports a laboratory experiment studying whether peer punishment promotes socially efficient behavior in such environments, which have been ignored in most experimental studies of peer punishment. It compares the effectiveness of peer punishment in a linear public good game to the effectiveness of this decentralized enforcement mechanism in two nonlinear social dilemma games: a piecewise linear public good game and a common pool resource game. While peer punishment improves cooperation in these new environments, the impact of punishment is weaker and takes longer to be effective. This appears to be due to the greater complexity of the nonlinear settings, which makes socially optimal choices more difficult to identify.