Fan simulation with Arduino Mega

does calcSignal() need to be any more than

void calcSignal()
{
    if(digitalRead(PWM_PIN) == HIGH)
        timer_start = micros();
    else
        pulse_time  = micros() - timer_start;
}

won't pulse_time be incorrect just once if the first interrupt catches the falling edge?