diff --git a/src/indexing/BaseEventIndexManager.ts b/src/indexing/BaseEventIndexManager.ts
index 32ab3b34fe..be7b89be37 100644
--- a/src/indexing/BaseEventIndexManager.ts
+++ b/src/indexing/BaseEventIndexManager.ts
@@ -157,6 +157,29 @@ export default abstract class BaseEventIndexManager {
         throw new Error("Unimplemented");
     }
 
+
+    /**
+     * Get the user version of the database.
+     * @return {Promise<number>} A promise that will resolve to the user stored
+     * version number.
+     */
+    async getUserVersion(): Promise<number> {
+        throw new Error("Unimplemented");
+    }
+
+    /**
+     * Set the user stored version to the given version number.
+     *
+     * @param {number} version The new version that should be stored in the
+     * database.
+     *
+     * @return {Promise<void>} A promise that will resolve once the new version
+     * is stored.
+     */
+    async setUserVersion(version: number): Promise<void> {
+        throw new Error("Unimplemented");
+    }
+
     /**
      * Commit the previously queued up events to the index.
      *
diff --git a/src/indexing/EventIndex.js b/src/indexing/EventIndex.js
index 5bacfd2e9c..1dc31869c9 100644
--- a/src/indexing/EventIndex.js
+++ b/src/indexing/EventIndex.js
@@ -42,9 +42,6 @@ export default class EventIndex extends EventEmitter {
     async init() {
         const indexManager = PlatformPeg.get().getEventIndexingManager();
 
-        await indexManager.initEventIndex();
-        console.log("EventIndex: Successfully initialized the event index");
-
         this.crawlerCheckpoints = await indexManager.loadCheckpoints();
         console.log("EventIndex: Loaded checkpoints", this.crawlerCheckpoints);
 
diff --git a/src/indexing/EventIndexPeg.js b/src/indexing/EventIndexPeg.js
index ae4c14dafd..20e05f985d 100644
--- a/src/indexing/EventIndexPeg.js
+++ b/src/indexing/EventIndexPeg.js
@@ -23,6 +23,8 @@ import PlatformPeg from "../PlatformPeg";
 import EventIndex from "../indexing/EventIndex";
 import SettingsStore, {SettingLevel} from '../settings/SettingsStore';
 
+const INDEX_VERSION = 1;
+
 class EventIndexPeg {
     constructor() {
         this.index = null;
@@ -66,8 +68,25 @@ class EventIndexPeg {
      */
     async initEventIndex() {
         const index = new EventIndex();
+        const indexManager = PlatformPeg.get().getEventIndexingManager();
 
         try {
+            await indexManager.initEventIndex();
+
+            const userVersion = await indexManager.getUserVersion();
+            const eventIndexIsEmpty = await indexManager.isEventIndexEmpty();
+
+            if (eventIndexIsEmpty) {
+                await indexManager.setUserVersion(INDEX_VERSION);
+            } else if (userVersion === 0 && !eventIndexIsEmpty) {
+                await indexManager.closeEventIndex();
+                await this.deleteEventIndex();
+
+                await indexManager.initEventIndex();
+                await indexManager.setUserVersion(INDEX_VERSION);
+            }
+
+            console.log("EventIndex: Successfully initialized the event index");
             await index.init();
         } catch (e) {
             console.log("EventIndex: Error initializing the event index", e);