     func checkScrollToPreviousDisabled() {
         let calendar = self.calendarView.delegate?.calendar?() ?? Calendar.current
         if let presentedMonth = monthViews[presented],
+            let disableScrollingBeforeDate = calendarView.disableScrollingBeforeDate {
+            let convertedDate = CVDate(date: disableScrollingBeforeDate, calendar: calendar)
+            presentedMonth.mapDayViews({ dayView in
+                if matchedDays(convertedDate, dayView.date) {
+                    presentedMonth.allowScrollToPreviousMonth = false
+                }
+            })
+        }
+    }
+    
+    func checkScrollToNextDisabled() {
+        let calendar = self.calendarView.delegate?.calendar?() ?? Calendar.current
+        if let presentedMonth = monthViews[presented],
             let disableScrollingBeyondDate = calendarView.disableScrollingBeyondDate {
             let convertedDate = CVDate(date: disableScrollingBeyondDate, calendar: calendar)
             presentedMonth.mapDayViews({ dayView in
                 if matchedDays(convertedDate, dayView.date) {
-                    presentedMonth.allowScrollToPreviousMonth = false
+                    presentedMonth.allowScrollToNextMonth = false
                 }
             })
         }

        monthViews[identifier] = monthView
        scrollView.addSubview(monthView)
        checkScrollToPreviousDisabled()
        calendarView.coordinator?.disableDays(in: presentedMonthView)
    }
    

            return
        }
        
        if monthViews[presented]?.allowScrollToNextMonth == false,
            scrollView.contentOffset.x > scrollView.frame.width {
            scrollView.setContentOffset(CGPoint(x: scrollView.frame.width, y: 0), animated: false)
            return
        }
        
        let page = Int(floor((scrollView.contentOffset.x - scrollView.frame.width / 2) / scrollView.frame.width) + 1)
        if currentPage != page {
            currentPage = page
