diff --git a/db.js b/db.js
index c80efb210376a4979136b487014d2ec632bac259..8f34199cb1cffb5f6c505be25c3ffafc6094b286 100644
--- a/db.js
+++ b/db.js
@@ -1,8 +1,10 @@
 import realm from 'realm'
+import { LocalDate } from 'js-joda'
 
 let db
 let cycleDaysSortedbyDate = []
 let bleedingDaysSortedByDate = []
+let temperatureDaysSortedByDate
 
 const TemperatureSchema = {
   name: 'Temperature',
@@ -49,6 +51,7 @@ async function openDatabase() {
 
   cycleDaysSortedbyDate = db.objects('CycleDay').sorted('date', true)
   bleedingDaysSortedByDate = db.objects('CycleDay').filtered('bleeding != null').sorted('date', true)
+  temperatureDaysSortedByDate = db.objects('CycleDay').filtered('temperature != null').sorted('date', true)
 }
 
 function saveTemperature(cycleDay, temperature) {
@@ -76,9 +79,11 @@ function getOrCreateCycleDay(localDate) {
 }
 
 function getPreviousTemperature(cycleDay) {
-  const cycleDayIndex = cycleDaysSortedbyDate.findIndex(day => day === cycleDay)
-  const previousCycleDays = cycleDaysSortedbyDate.slice(cycleDayIndex + 1)
-  const winner = previousCycleDays.find(cycleDay => cycleDay.temperature)
+  cycleDay.wrappedDate = LocalDate.parse(cycleDay.date)
+  const winner = temperatureDaysSortedByDate.find(day => {
+    const wrappedDate = LocalDate.parse(day.date)
+    return wrappedDate.isBefore(cycleDay.wrappedDate)
+  })
   if (!winner) return null
   return winner.temperature.value
 }
diff --git a/package-lock.json b/package-lock.json
index 9cedc1c2a9bf094675d4c4aab54db75d124ac1bf..95bf35542427def38958b52a11c357705e74e787 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4687,6 +4687,11 @@
         "merge-stream": "^1.0.1"
       }
     },
+    "js-joda": {
+      "version": "1.8.2",
+      "resolved": "https://registry.npmjs.org/js-joda/-/js-joda-1.8.2.tgz",
+      "integrity": "sha512-3w+3TnKqiplQyG/YQk31cBhJ/sg2Xb/fX7lneiK+z+nEjTzdfvHqJquJhtzyEA1NyLJKNpIeOQSBr3Q4nY+O8Q=="
+    },
     "js-tokens": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
diff --git a/package.json b/package.json
index aa857af3259279d069b701b73ad2f17c50f8e910..98d3dae7b46ea994138777d56c6ee4c9f84ed9d1 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
     "lint": "eslint app test"
   },
   "dependencies": {
+    "js-joda": "^1.8.2",
     "moment": "^2.22.1",
     "react": "16.3.1",
     "react-native": "0.55.4",