             }
             else
             {
-                let lowestDrawerState: PulleyPosition = supportedPositions.min { (pos1, pos2) -> Bool in
+                let lowestDrawerState: PulleyPosition = supportedPositions.filter({ $0 != .closed }).min { (pos1, pos2) -> Bool in
                     return pos1.rawValue < pos2.rawValue
                     } ?? .collapsed
                 

                {
                    if distance < 0
                    {
                        let orderedSupportedDrawerPositions = supportedPositions.sorted(by: { $0.rawValue < $1.rawValue })

                        for position in orderedSupportedDrawerPositions
                        {

            {
                drawerStops.append(partialRevealHeight)
            }

            // Collapsed is required for correct measurements here, as it's factored into the height of the drawer itself.
            drawerStops.append(collapsedHeight)
            
            let lowestStop = drawerStops.min() ?? 0
            
