Eigentlich sollte er das schon tun. Du solltest halt nicht "odern" sondern einfach setzen
PORTD = SPDR
Wenn er sich sträubt, mach halt einen Zwischenwert
char temp = SPDR;
PORTD = Temp