catalyst is started if the calculated nox conversion efficiency becomes lower than a predetermined criterion value also in the desulfurization control for recovering from the sulfur poisoning the means c 11 determines whether or not sulfur has been accumulated to the extent that the nox occluding ability is reduced a method for the determination includes a method in which c 11 determines that the regeneration is started if a sulfur accumulated value u03c3s which is obtained by accumulatively calculating a sulfur accumulation amount s exceeds a predetermined criterion value cs the transition to rich controlling means c 12 is means for advancing in angle a fuel injection timing t of main fuel injection into the cylinder so as to bring it to a fuel injection timing tn calculated based on a change in combustion air fuel ratio air excess ratio u03bbn in the cylinder every moment during switching from the lean condition to the rich condition at the beginning of the regeneration control in this control at the start time of transition to the rich condition the air intake system rich controlling means c 16 and the fuel system rich controlling means c 17 decrease an air intake amount and increase a fuel amount then the fuel injection timing t is gradually advanced in angle from a lean fuel injection timing tl to a target fuel injection timing tq for rich combustion in response to the change in combustion air fuel ratio air excess ratio u03bbn which is a.