I think you need to set TCNT1 after setting OCR1A in setup(), since that is the value of TOP, not when OCR1B changes as that's not TOP. If TCNT1 happened to be >= 2500 when setup() runs, TCNT1 will be spending a while incrementing all the way round to 0xFFFF and wrapping back to 0.
BTW when setting timer registers don't just tweak some individual bits, set all the register bits to definite values - otherwise you are risking mixing your new configuration with existing configuration, which could lead to obscure failures in some circumstances you haven't seen yet.