ATmega328P, Optiboot, stk500_recv() and going deep

Curiouser and curiouser.

I used a terminal program instead to play the part of avrdude. Here's what happens if I send STK_READ_SIGN while the bootloader is running:

Optiboot responds with STK_INSYNC, 0x1E950F, STK_OK, exactly as it should.

So what happens if I send the 3 byte STK_GET_PARAMETER command?

Exactly what should happen. Optiboot responds with STK_INSYNC, 0x03, STK_OK. So why doesn't it do it when avrdude sends it?