Unstable idling immediately after engine start is stabilized. At the time of idling according to cooling water temperature, the difference between the target engine rpm and the actual engine rpm is integrated, and a value obtained by multiplying the engine rpm difference integration value by a gain is used as an ignition timing change quantity for a change to the leading angle side or lagging angle side. Immediately after engine start, a relatively large initial gain is used to achieve a quick increase in the engine rpm. When the engine rpm approaches the target engine rpm, a normal gain, which is smaller than that, is used; however, for a change in setting to the same side as the leading angle side or lagging angle side, a smaller leading angle side gain or lagging angle side gain is used to inhibit the setting of a change to the ignition timing on the same side. At the time of throttle off, a quick reduction in the engine rpm is achieved as ignition timing corresponding to cooling water temperature.