diff --git a/lib/sympto/index.js b/lib/sympto/index.js
index 48e19806499619e3d3311b57b71c78a04374a2c6..979efc6c4be77bfa3f608c9c15a6e207a75c19d0 100644
--- a/lib/sympto/index.js
+++ b/lib/sympto/index.js
@@ -72,7 +72,7 @@ export default function getSymptoThermalStatus(cycleInfo) {
 
   if (tempOver > secondarySymptomOver) {
     periOvulatoryEnd = temperatureShift.evaluationCompleteDay
-  } else {
+  } else if (secondarySymptom > tempOver) {
     periOvulatoryEnd = secondaryShift.evaluationCompleteDay
   }
 
diff --git a/lib/sympto/pre-ovulatory.js b/lib/sympto/pre-ovulatory.js
index c2501428c3f215e011e368f779e8222fe44bb84e..874e2bc911958ca72137ebac1319866991c623ce 100644
--- a/lib/sympto/pre-ovulatory.js
+++ b/lib/sympto/pre-ovulatory.js
@@ -13,7 +13,7 @@ export default function(cycle, previousCycles) {
     return d.date <= preOvuEndDate
   })
   const preOvulatoryDays = getDaysUntilFertileSecondarySymptom(maybePreOvuDays)
-  // if mucus occurs on the 1st cycle day, there is no pre-ovu phase
+  // if fertile mucus or cervix occurs on the 1st cycle day, there is no pre-ovu phase
   if (!preOvulatoryDays.length) return null
 
   let endDate
@@ -34,7 +34,7 @@ export default function(cycle, previousCycles) {
   }
 }
 
-function getDaysUntilFertileSecondarySymptom(days, secondarySymptom) {
+function getDaysUntilFertileSecondarySymptom(days, secondarySymptom = 'mucus') {
   const firstFertileSecondarySymptomDayIndex = days.findIndex(day => {
     if (secondarySymptom === 'mucus') {
       return day.mucus && day.mucus.value > 1
@@ -47,4 +47,4 @@ function getDaysUntilFertileSecondarySymptom(days, secondarySymptom) {
     return days.slice(0, firstFertileSecondarySymptomDayIndex)
   }
   return days
-}
\ No newline at end of file
+}