diff --git a/lib/modules/Calendar.pmod/Gregorian.pmod b/lib/modules/Calendar.pmod/Gregorian.pmod
index e9dbbb72a87645c9cd58aa25274a31aa948b57f5..2cf270882ecac6104e3ef347131c8ed65366e1fc 100644
--- a/lib/modules/Calendar.pmod/Gregorian.pmod
+++ b/lib/modules/Calendar.pmod/Gregorian.pmod
@@ -864,7 +864,7 @@ class Day
    {
       int n;
       object ye=this->year();
-      n=(-({-1,-2,-3,3,2,1,0})[this->year()->julian_day(0)%7]+d)/7+1;
+      n=(-({-1,-2,-3,-4,2,1,0})[this->year()->julian_day(0)%7]+d)/7+1;
       if (n>ye->number_of_weeks())
 	 return ye->next()->week(1);
       else if (n<=0)