This implies that a different bug exists somewhere – that the value in the upper word is being relied on, which should not be the case. Should investigate.
This bug is old, and was quite possibly inaccurate in the first place.
Now, we certainly do always ensure the top word is a sign extend of the low word, if using 32-bit representation on 64-bit.
That said, we don't use 32-bit representation on 64-bit, so this is utterly uninteresting.