Open source tends to get into these sorts of situations…
The workaround is to do this:
sh -c 'sleep 0.1; gnome-screenshot -a'
I think what it does is force the computer to wait 0.1 second, and then activates the usual command. No idea why this works.