We consider a difficult class of optimization problems that we call a mathematical program with vanishing constraints. Problems of this kind arise in various applications including optimal topology design problems of mechanical structures. We show that some standard constraint qualifications like LICQ and MFCQ usually do not hold at a local minimum of our program, whereas the Abadie constraint qualification is sometimes satisfied. We also introduce a suitable modification of the standard Abadie constraint qualification as well as a corresponding optimality condition, and show that this modified constraint qualification holds under fairly mild assumptions. Finally, we discuss the relation between our class of optimization problems with vanishing constraints and a mathematical program with equilibrium constraints. Key Words: Constrained optimization, vanishing constraints, structural optimization, constraint qualifications, optimality conditions, mathematical programs with equilibrium constraints.