diff --git a/seasons.sty b/seasons.sty
index 385f714f991799c45320035abcade36cc221570a..e5cf1a29cd541899e7383b8a1be8c9df13da2db4 100644
--- a/seasons.sty
+++ b/seasons.sty
@@ -12,20 +12,16 @@
 
 \newcommand\setCycle[2]{%
   \setcounter{cycle}{#1}% Month
-  \ifnum\value{cycle}>6%
-    \addtocounter{cycle}{-6}%
-  \fi%
-  \ifnum\value{cycle}>3%
-    \addtocounter{cycle}{-3}%
-  \fi%
   \addtocounter{cycle}{-1}%
   \multiply\value{cycle} by 30%
   \addtocounter{cycle}{#2}% Day
   \divide\value{cycle} by 14%
   \addtocounter{cycle}{0}%
-  \ifnum\value{cycle}>5%
-    \setcounter{cycle}{0}%
-  \fi%
+  \whileboolexpr{%
+    test {\ifnumcomp{\value{cycle}}{>}{5}}%
+    }{%
+      \addtocounter{cycle}{-5}%
+    }%
   \setTemperature%
 }
 
@@ -147,3 +143,5 @@
     \gls{night}%
   \fi%
 }
+
+\setCycle{\month}{\day}