         self.collectionView.layoutSubtreeIfNeeded()
         self.collectionView.reloadData()
         
-        self.collectionView.selectItem(at: indexPath, animated: false, scrollPosition: .centered)
+        self.collectionView.isScrollEnabled = true
+        self.collectionView.selectItem(at: indexPath, animated: false, scrollPosition: .none)
+        self.collectionView.scrollItem(at: indexPath, to: .centered, animated: false, completion: nil)
+        self.collectionView.isScrollEnabled = false
         
         self.startEventMonitor()
         

        } else {
            self.removeFromParent()
            self.view.removeFromSuperview()
            completion?(true)
        }
    }

                    trans?.transition(toItemAt: ip, in: sourceCV)
                    self.overlay.animator().alphaValue = 0
                }) {
                    self.stopEventMonitor()
                    completion?(true)
                    trans?.finishTransition(toItemAt: ip, in: sourceCV)
                    self.view.removeFromSuperview()
