Multiple I2C devices and pullups

Hi,
I have a master Arduino and two slave Arduinos. I also have a DS1307 breakout.

The order down the I2C bus is: Master -> DS1307 -> Arduino Slave 1 -> Arduino Slave 2

The DS1307 breakout has 2.2kpullups, I have read from several places that the DS1307 requires this value pullups (2.2k).

I intermittently have problems receiving data sent from Slave 2 to the Master.

I have tried placing pullups separately at the Master, at Slave 1 and at Slave 2 (Only one at a time). But since the DS1307 has 2.2k pullups, adding other pullups would just be adding resistors in parallel.

Should there be pullups on only one device? If so, where should it be along the bus?

Correction:

The order down the bus is:
DS1307 -> Master ->Arduino Slave #1 -> Arduino Slave #2

Should there be pullups on only one device? If so, where should it be along the bus?

There should be only one pull-up resistor per signal and bus! The pull-up is not for the device it's for the bus. It doesn't matter much where you place it on the bus so you can just leave the on-board pull-ups on the DS3107.

My guess for the reason of your problems is a to long bus. What's the total length of your bus cabling?