diff --git a/dateutil.moin b/dateutil.moin
index 46a68b2..6a5da73 100644
--- a/dateutil.moin
+++ b/dateutil.moin
@@ -314,7 +314,9 @@
     The week start day. Must be one of the {{{MO}}}, {{{TU}}},
     {{{WE}}} constants, or an integer, specifying the first day
     of the week. This will affect recurrences based on weekly
-    periods.
+    periods. The default week start is got from
+    {{{calendar.firstweekday()}}}, and may be modified by
+    {{{calendar.setfirstweekday()}}}.
 
     count::
     How many occurrences will be generated.
@@ -711,6 +713,30 @@
  datetime.datetime(1999, 5, 17, 9, 0)]
 }}}
 
+The week number 1 may be in the last year.
+{{{
+>>> list(rrule(FREQ_WEEKLY, count=3, byweekno=1, byweekday=MO, dtstart=parse("19970902T090000")))
+[datetime.datetime(1997, 12, 29, 9, 0),
+ datetime.datetime(1999, 1, 4, 9, 0),
+ datetime.datetime(2000, 1, 3, 9, 0)]
+}}}
+
+And the week numbers greater than 51 may be in the next year.
+{{{
+>>> list(rrule(FREQ_WEEKLY, count=3, byweekno=52, byweekday=SU, dtstart=parse("19970902T090000")))
+[datetime.datetime(1997, 12, 28, 9, 0),
+ datetime.datetime(1998, 12, 27, 9, 0),
+ datetime.datetime(2000, 1, 2, 9, 0)]
+}}}
+
+Only some years have week number 53:
+{{{
+>>> list(rrule(FREQ_WEEKLY, count=3, byweekno=53, byweekday=MO, dtstart=parse("19970902T090000")))
+[datetime.datetime(1998, 12, 28, 9, 0),
+ datetime.datetime(2004, 12, 27, 9, 0),
+ datetime.datetime(2009, 12, 28, 9, 0)]
+}}}
+
 Every Friday the 13th, 4 occurrences.
 {{{
 >>> list(rrule(FREQ_YEARLY, count=4, byweekday=FR, bymonthday=13, dtstart=parse(
diff --git a/dateutil/rrule.py b/dateutil/rrule.py
index 041b0dd..0570a36 100644
--- a/dateutil/rrule.py
+++ b/dateutil/rrule.py
@@ -68,7 +68,7 @@
 
 class rrule:
     def __init__(self, freq, dtstart=None,
-                 interval=1, wkst=0, count=None, until=None, bysetpos=None,
+                 interval=1, wkst=None, count=None, until=None, bysetpos=None,
                  bymonth=None, bymonthday=None, byyearday=None, byeaster=None,
                  byweekno=None, byweekday=None,
                  byhour=None, byminute=None, bysecond=None,
@@ -88,7 +88,9 @@
         self._interval = interval
         self._count = count
         self._until = until
-        if type(wkst) is int:
+        if wkst is None:
+            self._wkst = calendar.firstweekday()
+        elif type(wkst) is int:
             self._wkst = wkst
         else:
             self._wkst = wkst.weekday
diff --git a/test.py b/test.py
index 4903756..6c5396a 100644
--- a/test.py
+++ b/test.py
@@ -2303,6 +2303,28 @@
                               until=parse("19970901T090000"))),
                          [])
 
+    def testWkStIntervalMO(self):
+        self.assertEqual(list(rrule(FREQ_WEEKLY,
+                              count=3,
+                              interval=2,
+                              byweekday=(TU,SU),
+                              wkst=MO,
+                              dtstart=parse("19970902T090000"))),
+                         [datetime(1997, 9, 2, 9, 0),
+                          datetime(1997, 9, 7, 9, 0),
+                          datetime(1997, 9, 16, 9, 0)])
+
+    def testWkStIntervalSU(self):
+        self.assertEqual(list(rrule(FREQ_WEEKLY,
+                              count=3,
+                              interval=2,
+                              byweekday=(TU,SU),
+                              wkst=SU,
+                              dtstart=parse("19970902T090000"))),
+                         [datetime(1997, 9, 2, 9, 0),
+                          datetime(1997, 9, 14, 9, 0),
+                          datetime(1997, 9, 16, 9, 0)])
+
 class ParserTest(unittest.TestCase):
     def setUp(self):
         self.tzinfos = {"BRST": -10800}
