As bad as Sen. sKerry is, there is a lot of evidence that there are shreds of decency lying mostly dormant beneath the opporunism. All the while he attacked President Bush's policy on Iraq, he quietly admitted that a precipitous withdrawal would be disaster (and some libs hated him for it).
I don't mean to imply he's a good guy, but he's better than some, and I think that explains his action in this case. Unlike Hillary, for example, he does care somewhat about the future of the country, even if he's a bit misguided and selfish.
I mean prior to turning his back on the men in Vietnam he was one of them.