diff --git a/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt b/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt
index fad528540..606434008 100644
--- a/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt
+++ b/src/main/java/com/maddyhome/idea/vim/listener/IdeaSpecifics.kt
@@ -16,7 +16,9 @@ import com.intellij.codeInsight.lookup.impl.actions.ChooseItemAction
 import com.intellij.codeInsight.template.Template
 import com.intellij.codeInsight.template.TemplateEditingAdapter
 import com.intellij.codeInsight.template.TemplateManagerListener
+import com.intellij.codeInsight.template.impl.TemplateManagerImpl
 import com.intellij.codeInsight.template.impl.TemplateState
+import com.intellij.codeInsight.template.impl.actions.NextVariableAction
 import com.intellij.find.FindModelListener
 import com.intellij.openapi.actionSystem.ActionManager
 import com.intellij.openapi.actionSystem.ActionUpdateThread
@@ -166,6 +168,10 @@ internal object IdeaSpecifics {
             KeyHandler.getInstance().reset(it.vim)
           }
         }
+        else if (action is NextVariableAction && TemplateManagerImpl.getTemplateState(editor) == null) {
+          editor.vim.exitInsertMode(event.dataContext.vim)
+          KeyHandler.getInstance().reset(editor.vim)
+        }
         //endregion
 
         if (caretOffset != -1 && caretOffset != editor.caretModel.offset) {