diff --git a/matlab/@dynDate/plus.m b/matlab/@dynDate/plus.m
index e110596bd288d4cd4413f17908702a5c20701923..31012688170a0a947c2cc2ca7ae2cebcbfee1c25 100644
--- a/matlab/@dynDate/plus.m
+++ b/matlab/@dynDate/plus.m
@@ -67,10 +67,10 @@ switch a.freq
     c.time(1) = a.time(1) + b - 1;
   case {4,12,52}
     c = a;
-    n1 = b;
-    n2 = floor(n1/a.freq);
-    n3 = mod(n1,a.freq);
-    c.time(2) = c.time(2)+n3-1;
+    n1 = b + a.time(2);
+    n2 = floor((n1 - 1)/a.freq);
+    n3 = mod(n1 - 1,a.freq) + 1;
+    c.time(2) = n3;
     c.time(1) = c.time(1)+n2;
   otherwise
     error('dynDate::plus: Unknown frequency!')