analogWrite causes missed/glitchy Interupts

Im sorry im not acually using the delay, I threw that in there to see if it would help which it didnt, But the issue happens with or without the delay in the ISR, it made no difference.

volatile unsigned int encoder0Pos=0;

void setup()  {
  Serial.begin(9600);
  DDRD &= ~(1 << 3);
  DDRD &= ~(1 << 4);
  DDRB |=  (1 << 9);
  DDRB |=  (1 << 10);
  attachInterrupt(1, ISR_A, CHANGE);
}

void loop(){
  analogWrite(9, 200);
  analogWrite(10, 150);
}


void ISR_A(){
  if (digitalRead(3) == digitalRead(4))
   {
    encoder0Pos++;
   } 
  else 
   {
    encoder0Pos--;
   }

Serial.println (encoder0Pos, DEC);
}

Now I know you guys said the serial call can screw up the ISR, but like I said the ISR works perfect with any code Ive tested in void_main, except analog write. The glitches (which are mostly extra encoder counts) got better (but didnt end) when I moved the PEMed, LEDS from pins 5/6 to pins 9/10 which would explain capacities coupling issues. What can I do to fix that?