A control device for an internal combustion engine, comprising: a sub-throttle valve; and a fuel injection device; and an ignition system; and a camshaft of the internal combustion engine; a plurality of plane cam shape portions, which are provided to the camshaft, respectively have valve lift characteristics different from each other, respectively have cam faces parallel to a rotation axis of the camshaft, and are spaced apart from each other; at least one transitional shape portion, which is provided between adjacent plane cam shape portions so as to be integral with the two plane cam shape portions and has a curved cam face connecting the cam faces of the adjacent plane cam shape portions so as to be continuous with the cam faces; a cam switching mechanism, which is configured to switch a cam between the valve lift characteristics for an intake valve by selecting one of the plurality of plane cam shape portions via the transitional shape portion; the control device being characterized in that it further comprises: a cam position sensor, which is configured to sense which position of the cam faces and the curved cam face in a rotation axis direction of the camshaft drives the intake valve; and a control unit comprising an engine control module which controls operation of the engine, wherein a respective three-dimensional map for each plane cam shape portion is stored in the engine control module for determining the respective controlled variable for the duty-ratio of the sub-throttle valve and the fuel injection time and optionally for the ignition timing; and wherein the engine control module determines whether the intake valve is driven by one transitional shape portion based on the cam position sensor; and when the intake valve is driven by the one determined transitional shape portion, the engine control module determines a correction factor for the duty-ratio of the sub-throttle valve and the fuel injection time and optionally for the ignition timing from respective tables based on the cam position sensor; and wherein the engine control module controls the duty-ratio of the sub-throttle valve and the fuel injection time and optionally for the ignition timing based on the read values from the three-dimensional maps associated with the two plane cam shape portions adjacent to the one determined transitional shape portion and the respective correction factors. wherein the engine control module determines whether the intake valve is driven by one transitional shape portion based on the cam position sensor; and when the intake valve is driven by the one determined transitional shape portion, the engine control module determines a correction factor for the duty-ratio of the sub-throttle valve and the fuel injection time and optionally for the ignition timing from respective tables based on the cam position sensor; and wherein the engine control module controls the duty-ratio of the sub-throttle valve and the fuel injection time and optionally for the ignition timing based on the read values from the three-dimensional maps associated with the two plane cam shape portions adjacent to the one determined transitional shape portion and the respective correction factors.