return True
                 if a_cmp is None:
                     return False
+                elif b_cmp is None:
+                    return True
                 return a_cmp > b_cmp
 
         def init_gallery_slot(file_item):
             slot.append(slot.content)
             return slot
 
-        self.gallery.bind_model(self.gallery_selection, init_gallery_slot)
+        self.gallery.bind_model(None, lambda _: Gtk.Box())
         if sort:
             self.gallery_store.sort(sorter)
+        self.gallery.bind_model(self.gallery_selection, init_gallery_slot)
         to_select = self.gallery.get_child_at_index(0)
         if suggested_selection:
             i = 0