Default [Q] Custom ringtones not remembered [i9020a]

Phone: Nexus S
Model: i9020A
OS: 2.3.6 Stock

Every now and then when I have a contact call me and they have a custom ringtone set, my Nexus S still plays the default ringtone.

I've check the contact details and the custom one is still selected. Once it even played a voice memo/recording instead of the contacts custom ringtone.

Why?!