diff --git a/src/main/java/com/maddyhome/idea/vim/config/VimState.kt b/src/main/java/com/maddyhome/idea/vim/config/VimState.kt
index 5ac3f6f62..21a3f7294 100644
--- a/src/main/java/com/maddyhome/idea/vim/config/VimState.kt
+++ b/src/main/java/com/maddyhome/idea/vim/config/VimState.kt
@@ -19,11 +19,7 @@ internal class VimState {
   var isIdeaJoinNotified by StateProperty("idea-join")
   var isIdeaPutNotified by StateProperty("idea-put")
   var wasSubscribedToEAPAutomatically by StateProperty("was-automatically-subscribed-to-eap")
-
-  /**
-   * First logged version of IdeaVim, or "-1" if no version logged
-   */
-  var firstIdeaVimVersion: String by StringProperty("first-ideavim-version", "-1")
+  var firstIdeaVimVersion: String? by StringProperty("first-ideavim-version", null)
 
   fun readData(element: Element) {
     val notifications = element.getChild("notifications")
@@ -57,7 +53,7 @@ internal class VimState {
 }
 
 private val map by lazy { mutableMapOf<String, Boolean>() }
-private val stringMap by lazy { mutableMapOf<String, String>() }
+private val stringMap by lazy { mutableMapOf<String, String?>() }
 
 private class StateProperty(val xmlName: String) : ReadWriteProperty<VimState, Boolean> {
 
@@ -72,16 +68,17 @@ private class StateProperty(val xmlName: String) : ReadWriteProperty<VimState, B
   }
 }
 
-private class StringProperty(val propertyName: String, val defaultValue: String) : ReadWriteProperty<VimState, String> {
+private class StringProperty(val propertyName: String, val defaultValue: String?) : ReadWriteProperty<VimState, String?> {
 
   init {
     stringMap[propertyName] = defaultValue
   }
 
-  override fun getValue(thisRef: VimState, property: KProperty<*>): String =
-    stringMap.getOrPut(propertyName) { defaultValue }
+  override fun getValue(thisRef: VimState, property: KProperty<*>): String? {
+    return stringMap.getOrPut(propertyName) { defaultValue }
+  }
 
-  override fun setValue(thisRef: VimState, property: KProperty<*>, value: String) {
+  override fun setValue(thisRef: VimState, property: KProperty<*>, value: String?) {
     stringMap[propertyName] = value
   }
 }
diff --git a/src/main/java/com/maddyhome/idea/vim/newapi/IjVimEnabler.kt b/src/main/java/com/maddyhome/idea/vim/newapi/IjVimEnabler.kt
index 659c21b7d..d564d408f 100644
--- a/src/main/java/com/maddyhome/idea/vim/newapi/IjVimEnabler.kt
+++ b/src/main/java/com/maddyhome/idea/vim/newapi/IjVimEnabler.kt
@@ -24,7 +24,7 @@ internal class IjVimEnabler : VimEnabler {
 
   fun ideOpened() {
     val myFirstVersion = VimPlugin.getVimState().firstIdeaVimVersion
-    if (myFirstVersion == "-1") {
+    if (myFirstVersion == null) {
       VimPlugin.getVimState().firstIdeaVimVersion = VimPlugin.getVersion()
       this.isNewUser = true
     }