Reprocess attachment_fu thumbnails with ImageMagick edits

I’m trying to modify product images when a user marks a product as
“sold” and I am able to modify the original image file successfully,
but when I try to reprocess the thumbnails, my ImageMagick
modifications don’t stick. Here is what I’ve got going so far:

def before_save
if self.sold_changed? && self.sold?
for photo in self.photos
imagelist = Magick::ImageList.new
imagelist.read(File.join(RAILS_ROOT, “public”,
photo.public_filename), File.join(RAILS_ROOT, “assets”, “sold.png”))
imagelist.flatten_images.write(photo_file)
photo.save!
end
end
end

Does anyone know why calling ‘photo.save!’ would discard my
ImageMagick changes? When I try the same function without calling
photo.save!, my original image is modified exactly as I intend but the
thumbnails are not updated.

If anyone has a suggestion, please let me know. Thanks in advance!