diff --git a/lib/workers/branch/schedule.ts b/lib/workers/branch/schedule.ts
index c62368eee5bc239b6136ca2f0aa129a926dff316..c10be4b7dec161dee01967fc7db6ef1ec29487b1 100644
--- a/lib/workers/branch/schedule.ts
+++ b/lib/workers/branch/schedule.ts
@@ -49,10 +49,10 @@ export function hasValidSchedule(
     }
     if (
       !parsedSchedule.schedules.some(
-        s => s.d !== undefined || s.D || s.t_a !== undefined || s.t_b
+        s => s.M || s.d !== undefined || s.D || s.t_a !== undefined || s.t_b
       )
     ) {
-      message = `Schedule "${scheduleText}" has no days of week or time of day`;
+      message = `Schedule "${scheduleText}" has no months, days of week or time of day`;
       return true;
     }
     // It must be OK
@@ -119,6 +119,16 @@ export function isScheduledNow(config) {
     logger.debug({ parsedSchedule }, `Checking schedule "${scheduleText}"`);
     // Later library returns array of schedules
     return parsedSchedule.schedules.some(schedule => {
+      // Check if months are defined
+      if (schedule.M) {
+        const currentMonth = parseInt(now.format('M'), 10);
+        if (!schedule.M.includes(currentMonth)) {
+          logger.debug(
+            `Does not match schedule because ${currentMonth} is not in ${schedule.M}`
+          );
+          return false;
+        }
+      }
       // Check if days are defined
       if (schedule.d) {
         // We need to compare text instead of numbers because
diff --git a/test/workers/branch/schedule.spec.js b/test/workers/branch/schedule.spec.js
index 8c0afdd46e465c252a03a4ad96762cc7143508d3..013ebc89daf0540116aaaa2fd0d59c4c890e76a8 100644
--- a/test/workers/branch/schedule.spec.js
+++ b/test/workers/branch/schedule.spec.js
@@ -215,5 +215,17 @@ describe('workers/branch/schedule', () => {
       const res = schedule.isScheduledNow(config);
       expect(res).toBe(false);
     });
+    it('approves on months of year', () => {
+      config.schedule = ['of January'];
+      mockDate.set('2017-01-02T06:00:00.000'); // Locally Monday, 2 January 2017 6am
+      const res = schedule.isScheduledNow(config);
+      expect(res).toBe(true);
+    });
+    it('rejects on months of year', () => {
+      config.schedule = ['of January'];
+      mockDate.set('2017-02-02T06:00:00.000'); // Locally Thursday, 2 February 2017 6am
+      const res = schedule.isScheduledNow(config);
+      expect(res).toBe(false);
+    });
   });
 });