diff --git a/db/index.js b/db/index.js
index 6d3d211d22704f2cf4ab9b582537da2d93792212..330509d726c6391f517b224d57cb404a80f27708 100644
--- a/db/index.js
+++ b/db/index.js
@@ -269,9 +269,25 @@ async function importCsv(csv, deleteFirst) {
   //remove symptoms where all fields are null
   putNullForEmptySymptoms(cycleDays)
 
+  if (deleteFirst) {
   db.write(() => {
     db.delete(db.objects('CycleDay'))
+      cycleDays.forEach(tryToCreateCycleDay)
+    })
+  } else {
+    db.write(() => {
     cycleDays.forEach((day, i) => {
+        const existing = getCycleDay(day.date)
+        if (existing) {
+          db.delete(existing)
+        }
+        tryToCreateCycleDay(day, i)
+      })
+    })
+  }
+}
+
+function tryToCreateCycleDay(day, i) {
       try {
         db.create('CycleDay', day)
       } catch (err) {