OneWire library affecting other pins on port

I've got an SPI device using some pins on the same port as a DS18S20.

Everything works fine until I try and obtain data from the OneWire sensor, as the OneWire::write function seems to send the whole port "floating" after the operation (not just the pin for the OneWire device).

I suspect it's these lines that are to blame in the write function of the library:

DIRECT_MODE_INPUT(baseReg, bitmask);
DIRECT_WRITE_LOW(baseReg, bitmask);

Where baseReg is the port that the pin resides.

I'm using Paul Stoffregen's v2.0 library.

Has anyone else experienced anything similar? I'm a bit short on pins so would prefer not to have to try and put the Dallas device on it's own port.