Found for February and March 2015, on NSLocale with locale identifier "pl".
Maybe the line
NSInteger dateItem = [self.calendar components:NSCalendarUnitDay fromDate:firstDayInMonth toDate:date options:0].day + (weekday - self.calendar.firstWeekday);
needs to be changed to
NSInteger dateItem = [self.calendar components:NSCalendarUnitDay fromDate:firstDayInMonth toDate:date options:0].day + (weekday >= self.calendar.firstWeekday ? weekday - self.calendar.firstWeekday : weekday - self.calendar.firstWeekday + 7);
as it seems to fix the problem.