This sounds like normal behaviour. When you receive a byte over SPI, it goes into the SPDR (SPI Data Register). You then read the contents. However, the byte is still in the SPDR - it doesn't get zero'd.
When the Arduino as an SPI slave receives the next set of clock pulses, it clocks out the contents of SPDR - which just happen to be the byte previously received.