                 maxReached.section, maxReached.item)
 
             if initialSelection == lastDraggedIndex {
-                minReached = lastDraggedIndex
-                maxReached = lastDraggedIndex
+                minReached = initialSelection
+                maxReached = initialSelection
             }
         }
     }

        // Drag selection logic
        if pathAtPoint != nilIndexPath && pathAtPoint != lastDraggedIndex {
            lastDraggedIndex = pathAtPoint
            if minReached == nilIndexPath { minReached = lastDraggedIndex }
            if maxReached == nilIndexPath { maxReached = lastDraggedIndex }

            maxReached = max(maxReached, lastDraggedIndex)
            minReached = min(minReached, lastDraggedIndex)

        dragSelectActive = true
        initialSelection = selection
        lastDraggedIndex = selection
        minReached = selection
        maxReached = selection
        DragSelectCollectionView.LOG("Drag selection initialized, starting at index [%i, %i].",
                                        args: selection.section, selection.item)
        return true
