Timer1 compare interupt without CTC oddity

I'm using an arduino uno as an dual H-bridge inverter controller. In testing my larger code, I ran into some gross timing problems. I have distilled down one of the problems in the following demonstration. In reviewing the timer1 Atmel documentation, I can't seem to find the problem. I was hoping someone with AVR timer exerience might let me know what is going on. Thanks in advance for any assitance. Bruce

void setup()
{
DDRD = B11111111; //all of port D output H_Bridge1 control

noInterrupts(); // disable all interrupts
OCR1A = 33333; // update timer compare register0 to first event
TCCR1A = 0; // zero timer1 control high and low bytes
TCCR1B = B00000010; // divide by 8 prescale at 16 MHz yields timer count of 0.5 usecs
TCNT1 = 0; // zero timer1 count
TIMSK1 |= (1 << OCIE1A); // enable timer1 compare interrupt
interrupts(); // enable all interrupts
}

ISR(TIMER1_COMPA_vect) // timer compare interrupt service routine
{
digitalWrite(7, digitalRead(7) ^ 1); // toggle D 7
TCNT1=0;
OCR1A=33333; // !!! remove this 16.67 ms pulse toggle is over 30 ms!!!
}

void loop()
{