diff --git a/Lib/calendar.py b/Lib/calendar.py
index 477f595..9af2c93 100644
--- a/Lib/calendar.py
+++ b/Lib/calendar.py
@@ -29,11 +29,13 @@
         self.format = format
         self.len = len
     def __getitem__(self, item):
-        if item > self.len-1 or item < -self.len:
-            raise IndexError
-        if item < 0:
-            item += self.len
-        return strftime(self.format, (item,)*9).capitalize()
+        if isinstance(item, int):
+            if item < 0: item += self.len
+            if not 0 <= item < self.len:
+                raise IndexError, "out of range"
+            return strftime(self.format, (item,)*9).capitalize()
+        elif isinstance(item, type(slice(0))):
+            return [self[e] for e in range(self.len)].__getslice__(item.start, item.stop)
     def __len__(self):
         return self.len
 
@@ -42,8 +44,8 @@
 day_abbr = _localized_name('%a', 7)
 
 # Full and abbreviated names of months (1-based arrays!!!)
-month_name = _localized_name('%B', 12)
-month_abbr = _localized_name('%b', 12)
+month_name = _localized_name('%B', 13)
+month_abbr = _localized_name('%b', 13)
 
 # Constants for weekdays
 (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
