<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?