An engine performs a combustion mode selected from a plurality of combustion modes. The combustion modes include stratified-charge combustion and homogeneous-charge combustion. A electronic control unit switches the combustion mode in accordance with the current running conditions of the engine. The electronic control unit limits a running area in which stratified-charge combustion is performed in accordance with the frequency of engine knocking occurrences. This properly executes knocking control without adversely affecting the execution of stratified-charge combustion. <IMAGE>