diff --git a/beetsplug/edit.py b/beetsplug/edit.py index 8feb28f27..eba2db659 100644 --- a/beetsplug/edit.py +++ b/beetsplug/edit.py @@ -302,9 +302,14 @@ class EditPlugin(plugins.BeetsPlugin): elif choice == u'c': # Cancel. return False elif choice == u'e': # Keep editing. - # Reset the temporary changes to the objects. + # Reset the temporary changes to the objects. I we have a + # deepcopy from above, use that, else reload from the + # database. + objs = [(old_obj or obj) + for old_obj, obj in zip(objs_old, objs)] for obj in objs: - obj.read() + if obj._db: + obj.load() continue # Remove the temporary file before returning.