diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index 2912d4a819..840753c706 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -169,7 +169,10 @@ class MetadataSingleDialogBase(ResizableDialog): self.basic_metadata_widgets.extend([self.series, self.series_index]) self.formats_manager = FormatsManager(self, self.copy_fmt) - self.basic_metadata_widgets.append(self.formats_manager) + # We want formats changes to be committed before title/author, as + # otherwise we could have data loss if the title/author changed and the + # user was trying to add an extra file from the old books directory. + self.basic_metadata_widgets.insert(0, self.formats_manager) self.formats_manager.metadata_from_format_button.clicked.connect( self.metadata_from_format) self.formats_manager.cover_from_format_button.clicked.connect(