diff --git a/lib/workers/branch/schedule.js b/lib/workers/branch/schedule.js
index 9eba89007bf506ae107a41ff7574d6bac6b12fa3..a03a69deffc9debc0d6166325235b60d5c68022d 100644
--- a/lib/workers/branch/schedule.js
+++ b/lib/workers/branch/schedule.js
@@ -8,6 +8,11 @@ module.exports = {
   isScheduledNow,
 };
 
+const scheduleMappings = {
+  'every month': 'before 3am on the first day of the month',
+  monthly: 'before 3am on the first day of the month',
+};
+
 function fixShortHours(input) {
   return input.replace(/( \d?\d)((a|p)m)/g, '$1:00$2');
 }
@@ -30,7 +35,9 @@ function hasValidSchedule(schedule) {
   }
   // check if any of the schedules fail to parse
   const hasFailedSchedules = schedule.some(scheduleText => {
-    const massagedText = fixShortHours(scheduleText);
+    const massagedText = fixShortHours(
+      scheduleMappings[scheduleText] || scheduleText
+    );
     const parsedSchedule = later.parse.text(massagedText);
     if (parsedSchedule.error !== -1) {
       message = `Failed to parse schedule "${scheduleText}"`;
@@ -108,7 +115,8 @@ function isScheduledNow(config) {
   logger.debug(`Checking ${configSchedule.length} schedule(s)`);
   // We run if any schedule matches
   const isWithinSchedule = configSchedule.some(scheduleText => {
-    const parsedSchedule = later.parse.text(fixShortHours(scheduleText));
+    const massagedText = scheduleMappings[scheduleText] || scheduleText;
+    const parsedSchedule = later.parse.text(fixShortHours(massagedText));
     logger.debug({ parsedSchedule }, `Checking schedule "${scheduleText}"`);
     // Later library returns array of schedules
     return parsedSchedule.schedules.some(schedule => {
diff --git a/test/workers/branch/schedule.spec.js b/test/workers/branch/schedule.spec.js
index 9c510f9dfb6625f438e1825ce398f7937be96149..602c29fbb7e80c002bb4dd212d5637e2522c48be 100644
--- a/test/workers/branch/schedule.spec.js
+++ b/test/workers/branch/schedule.spec.js
@@ -75,6 +75,14 @@ describe('workers/branch/schedule', () => {
         ])[0]
       ).toBe(true);
     });
+    it('massages schedules', () => {
+      expect(
+        schedule.hasValidSchedule([
+          'before 3am on the first day of the month',
+        ])[0]
+      ).toBe(true);
+      expect(schedule.hasValidSchedule(['every month'])[0]).toBe(true);
+    });
     it('supports hours shorthand', () => {
       const [res] = schedule.hasValidSchedule([
         'after 11pm and before 6am every weekend',