Code optimization?

#define MaxShiftRegisters 4 //actually 3 but works with this for loop.

void ShiftByteOut(byte chip, byte b)
{  
   byte bp = B00000000;
   byte bp2 = B00000000;   
   digitalWrite(latchPin, LOW);  
   for(byte n2=0; n2<MaxShiftRegisters; n2++)  
   {
      Serial.print("n2 ");
      Serial.println(n2);
      if (chip==n2)
         shiftOut(dataPin, clockPin, MSBFIRST, b);
       else
         shiftOut(dataPin, clockPin, MSBFIRST, bp2);
   }     
   digitalWrite(latchPin, HIGH);     
}