diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 793f2d353b..554b104c34 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -125,7 +125,7 @@ def set_device_connected(self, is_connected): def refresh_ondevice(self): self.db.refresh_ondevice() - self.refresh(reset=False) + self.resort() self.research() def set_book_on_device_func(self, func): diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index 98fd3a9fbc..2ad425fc00 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -914,6 +914,8 @@ def count(self): return len(self._map) def refresh_ondevice(self, db): + if self.composites: + self.refresh(db) ondevice_col = self.FIELD_MAP['ondevice'] for item in self._data: if item is not None: