diff --git a/lib/cycle.js b/lib/cycle.js
index 70401d5baa4755f5a4539092eae94f470e34bb37..f350ff827e0b17e3aeb17c185d48e308e1980f21 100644
--- a/lib/cycle.js
+++ b/lib/cycle.js
@@ -28,19 +28,20 @@ export default function config(opts) {
         return day
       })
 
-    const firstBleedingBeforeTargetDayIndex = withWrappedDates.findIndex(day => {
+    // the index of the first bleeding day before the target day
+    const index = withWrappedDates.findIndex(day => {
       return (
         day.wrappedDate.isEqual(targetDate) ||
         day.wrappedDate.isBefore(targetDate)
       )
     })
 
-    if (firstBleedingBeforeTargetDayIndex < 0) {
+    if (index < 0) {
       withWrappedDates.forEach(day => delete day.wrappedDate)
       return null
     }
 
-    const prevBleedingDays = withWrappedDates.slice(firstBleedingBeforeTargetDayIndex)
+    const prevBleedingDays = withWrappedDates.slice(index)
 
     const lastMensesStart = prevBleedingDays.find((day, i) => {
       return noBleedingDayWithinThreshold(day, prevBleedingDays.slice(i + 1))
diff --git a/test/cycle.spec.js b/test/cycle.spec.js
index 3b82c40d271b6cb1d37fc25fdfdef2a7a35c4f03..a0efa7d45cec8b562a0fac6d2df6c36c1ead3f75 100644
--- a/test/cycle.spec.js
+++ b/test/cycle.spec.js
@@ -5,6 +5,10 @@ import cycleModule from '../lib/cycle'
 const expect = chai.expect
 chai.use(dirtyChai)
 
+function useBleedingDays(days) {
+  return cycleModule({ bleedingDaysSortedByDate: days }).getCycleDayNumber
+}
+
 describe('getCycleDay', () => {
   it('works for a simple example', () => {
     const bleedingDays = [{
@@ -23,7 +27,7 @@ describe('getCycleDay', () => {
         value: 2
       }
     }]
-    const getCycleDayNumber = cycleModule({ bleedingDaysSortedByDate: bleedingDays }).getCycleDayNumber
+    const getCycleDayNumber = useBleedingDays(bleedingDays)
     const targetDate = '2018-05-17'
     const result = getCycleDayNumber(targetDate)
     expect(result).to.eql(9)
@@ -49,7 +53,7 @@ describe('getCycleDay', () => {
       }
     }]
     const targetDate = '2018-05-17'
-    const getCycleDayNumber = cycleModule({ bleedingDaysSortedByDate: bleedingDays }).getCycleDayNumber
+    const getCycleDayNumber = useBleedingDays(bleedingDays)
     const result = getCycleDayNumber(targetDate)
     expect(result).to.eql(15)
   })
@@ -73,7 +77,7 @@ describe('getCycleDay', () => {
     }]
 
     const targetDate = '2018-04-27'
-    const getCycleDayNumber = cycleModule({ bleedingDaysSortedByDate: bleedingDays }).getCycleDayNumber
+    const getCycleDayNumber = useBleedingDays(bleedingDays)
     const result = getCycleDayNumber(targetDate)
     expect(result).to.eql(18)
   })
@@ -87,7 +91,7 @@ describe('getCycleDay', () => {
     }]
 
     const targetDate = '2018-05-13'
-    const getCycleDayNumber = cycleModule({ bleedingDaysSortedByDate: bleedingDays }).getCycleDayNumber
+    const getCycleDayNumber = useBleedingDays(bleedingDays)
     const result = getCycleDayNumber(targetDate)
     expect(result).to.eql(1)
   })
@@ -96,7 +100,7 @@ describe('getCycleDay', () => {
     it('if there are no bleeding days', function () {
       const bleedingDays = []
       const targetDate = '2018-05-17'
-      const getCycleDayNumber = cycleModule({ bleedingDaysSortedByDate: bleedingDays }).getCycleDayNumber
+      const getCycleDayNumber = useBleedingDays(bleedingDays)
       const result = getCycleDayNumber(targetDate)
       expect(result).to.be.null()
     })
@@ -119,7 +123,10 @@ describe('getCycleDay', () => {
       }]
 
       const targetDate = '2018-05-17'
-      const getCycleDayNumber = cycleModule({ bleedingDaysSortedByDate: bleedingDays, maxBreakInBleeding }).getCycleDayNumber
+      const getCycleDayNumber = cycleModule({
+        bleedingDaysSortedByDate: bleedingDays,
+        maxBreakInBleeding
+      }).getCycleDayNumber
       const result = getCycleDayNumber(targetDate)
       expect(result).to.eql(8)
     })
@@ -137,7 +144,10 @@ describe('getCycleDay', () => {
         }
       }]
       const targetDate = '2018-05-17'
-      const getCycleDayNumber = cycleModule({ bleedingDaysSortedByDate: bleedingDays, maxBreakInBleeding }).getCycleDayNumber
+      const getCycleDayNumber = cycleModule({
+        bleedingDaysSortedByDate: bleedingDays,
+        maxBreakInBleeding
+      }).getCycleDayNumber
       const result = getCycleDayNumber(targetDate)
       expect(result).to.eql(4)
     })