A method for determining a defect in a spark plug associated with a cylinder of a spark-ignited internal combustion engine, the method comprising: starting a supply of current to a primary winding of an ignition coil associated with the spark plug; measuring the current flowing through the primary winding; determining that the current flowing through the primary winding has reached a predetermined maximum current value; stopping the supply of current to the primary winding in response to determining that the current flowing through the primary winding has reached the predetermined maximum current value; determining a time interval (T D, ΔT D) based on a timing of starting the supply of current (t 1) and a timing of reaching the predetermined maximum current value (t 2); and determining that the spark plug is defective when the time interval (T D, ΔT D) is longer than an upper limit time interval determined in advance for the spark plug, the method further comprising: determining a slope (I ref) of the current signal when the predetermined maximum current value is reached, based on the voltage applied to the primary winding and the inductance of the same; determining a reference timing (t 3) at which the supply of current to the primary winding would have to be started in case of an ideal behavior of the spark plug to reach the maximum current value at the timing of reaching the predetermined maximum current value (t 2), based on the determined slope (I ref); and determining the time interval (ΔT D) from a time difference between the reference timing (t 3) and the timing of starting the supply of current (t 1). starting a supply of current to a primary winding of an ignition coil associated with the spark plug; measuring the current flowing through the primary winding; determining that the current flowing through the primary winding has reached a predetermined maximum current value; stopping the supply of current to the primary winding in response to determining that the current flowing through the primary winding has reached the predetermined maximum current value; determining a time interval (T D, ΔT D) based on a timing of starting the supply of current (t 1) and a timing of reaching the predetermined maximum current value (t 2); and determining that the spark plug is defective when the time interval (T D, ΔT D) is longer than an upper limit time interval determined in advance for the spark plug, the method further comprising: determining a slope (I ref) of the current signal when the predetermined maximum current value is reached, based on the voltage applied to the primary winding and the inductance of the same; determining a reference timing (t 3) at which the supply of current to the primary winding would have to be started in case of an ideal behavior of the spark plug to reach the maximum current value at the timing of reaching the predetermined maximum current value (t 2), based on the determined slope (I ref); and determining the time interval (ΔT D) from a time difference between the reference timing (t 3) and the timing of starting the supply of current (t 1). determining a slope (I ref) of the current signal when the predetermined maximum current value is reached, based on the voltage applied to the primary winding and the inductance of the same; determining a reference timing (t 3) at which the supply of current to the primary winding would have to be started in case of an ideal behavior of the spark plug to reach the maximum current value at the timing of reaching the predetermined maximum current value (t 2), based on the determined slope (I ref); and determining the time interval (ΔT D) from a time difference between the reference timing (t 3) and the timing of starting the supply of current (t 1).