We use a penalty function approach to derive necessary optimality conditions for nonconvex bilevel programs. The existing literature has concentrated on two basic approaches and their hybrids: (a) the KKT approach and (b) the value function approach that posits calmness conditions and employs nonsmooth analysis. Both methods reformulate the problem into a single level problem, possibly with complementarity or nonsmooth constraints. We explore an alternative approach based on a max-min reformulation of the problem. This produces parsimonious optimality condition that involves a single alternate best response of the follower rather than an enumeration of best responses that is common in other methods. We provide examples where our optimality conditions hold but fail constraint qualifications of other approaches.