A control device for an internal combustion engine configured to calibrate a detected value from a pressure detection unit of the internal combustion engine, during operation of the internal combustion engine, the device comprising: a cooling water temperature detection unit configured to detect a cooling water temperature of the internal combustion engine; an intake air temperature detection unit configured to detect an intake air temperature of the internal combustion engine; a storage unit configured to store a calibration reference value for calibrating the detection value from the pressure detection unit; a determination unit configured to determine whether an environment is a cold environment in which the pressure detection unit is likely to freeze; and a calibration unit configured to obtain the calibration reference value, wherein in an after-run control performed after the internal combustion engine stops, the determination unit compares a cooling water temperature detected by the cooling water temperature detection unit with a first threshold value and determines that the environment is not the cold environment if the cooling water temperature is equal to or higher than the first threshold, if, as a result of the comparison, the cooling water temperature detected by the cooling water temperature detection unit is less than the first threshold value; the determination unit determines that the environment is not the cold environment if the cooling water temperature is equal to or higher than a second threshold value lower than the first threshold value and the intake air temperature is equal to or higher than a third threshold value, and otherwise, determines that the environment is the cold environment, the calibration unit obtains a calibration reference value based on the detection value from the pressure detection unit when the determination unit determines that the environment is not the cold environment, and the storage unit stores the calibration reference value obtained by the calibration unit. a cooling water temperature detection unit configured to detect a cooling water temperature of the internal combustion engine; an intake air temperature detection unit configured to detect an intake air temperature of the internal combustion engine; a storage unit configured to store a calibration reference value for calibrating the detection value from the pressure detection unit; a determination unit configured to determine whether an environment is a cold environment in which the pressure detection unit is likely to freeze; and a calibration unit configured to obtain the calibration reference value, wherein in an after-run control performed after the internal combustion engine stops, the determination unit compares a cooling water temperature detected by the cooling water temperature detection unit with a first threshold value and determines that the environment is not the cold environment if the cooling water temperature is equal to or higher than the first threshold, if, as a result of the comparison, the cooling water temperature detected by the cooling water temperature detection unit is less than the first threshold value; the determination unit determines that the environment is not the cold environment if the cooling water temperature is equal to or higher than a second threshold value lower than the first threshold value and the intake air temperature is equal to or higher than a third threshold value, and otherwise, determines that the environment is the cold environment, the calibration unit obtains a calibration reference value based on the detection value from the pressure detection unit when the determination unit determines that the environment is not the cold environment, and the storage unit stores the calibration reference value obtained by the calibration unit.