<attribute>_changed? oddity

I have an activerecord with an attribute copyr_id (integer). In a callback event

copyr_id_changed?

is always true but if I test

copyr_id_was != copyr_id

then it correctly detects when copyr_id actually changed. I have other integer attributes I tested in the same callback with <attribute>_changed? and it works correctly. Has anyone seen this oddity?