diff --git a/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/NextMenuItemAction.kt b/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/NextMenuItemAction.kt
index 13987c7..5f1e7e3 100644
--- a/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/NextMenuItemAction.kt
+++ b/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/NextMenuItemAction.kt
@@ -1,9 +1,17 @@
 package com.chylex.intellij.keyboardmaster.feature.actions
 
 import javax.swing.JList
+import javax.swing.JTree
 
 class NextMenuItemAction : SelectMenuItemBaseAction() {
 	override fun updateSelection(list: JList<*>) {
 		setSelectedIndex(list, list.selectedIndex + 1)
 	}
+	
+	override fun updateSelection(tree: JTree) {
+		val row = tree.selectionRows?.maxOrNull()
+		if (row != null) {
+			setSelectedIndex(tree, row + 1)
+		}
+	}
 }
diff --git a/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/PrevMenuItemAction.kt b/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/PrevMenuItemAction.kt
index c8faf62..c685ac5 100644
--- a/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/PrevMenuItemAction.kt
+++ b/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/PrevMenuItemAction.kt
@@ -1,6 +1,7 @@
 package com.chylex.intellij.keyboardmaster.feature.actions
 
 import javax.swing.JList
+import javax.swing.JTree
 
 class PrevMenuItemAction : SelectMenuItemBaseAction() {
 	override fun updateSelection(list: JList<*>) {
@@ -12,4 +13,11 @@ class PrevMenuItemAction : SelectMenuItemBaseAction() {
 			setSelectedIndex(list, index - 1)
 		}
 	}
+	
+	override fun updateSelection(tree: JTree) {
+		val row = tree.selectionRows?.minOrNull()
+		if (row != null) {
+			setSelectedIndex(tree, row - 1)
+		}
+	}
 }
diff --git a/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/SelectMenuItemBaseAction.kt b/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/SelectMenuItemBaseAction.kt
index 4bc1245..9a99618 100644
--- a/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/SelectMenuItemBaseAction.kt
+++ b/src/main/kotlin/com/chylex/intellij/keyboardmaster/feature/actions/SelectMenuItemBaseAction.kt
@@ -9,6 +9,7 @@ import com.intellij.openapi.project.DumbAwareAction
 import com.intellij.ui.ComponentUtil
 import java.awt.KeyboardFocusManager
 import javax.swing.JList
+import javax.swing.JTree
 
 abstract class SelectMenuItemBaseAction internal constructor(): DumbAwareAction() {
 	init {
@@ -31,12 +32,22 @@ abstract class SelectMenuItemBaseAction internal constructor(): DumbAwareAction(
 				updateSelection(focused)
 				break
 			}
+			else if (focused is JTree) {
+				updateSelection(focused)
+				break
+			}
 			else if (focused is BigPopupUI) {
 				val list = ComponentUtil.findComponentsOfType(focused, JList::class.java).singleOrNull()
 				if (list != null) {
 					updateSelection(list)
 					break
 				}
+				
+				val tree = ComponentUtil.findComponentsOfType(focused, JTree::class.java).singleOrNull()
+				if (tree != null) {
+					updateSelection(tree)
+					break
+				}
 			}
 			
 			focused = focused.parent
@@ -51,4 +62,13 @@ abstract class SelectMenuItemBaseAction internal constructor(): DumbAwareAction(
 			list.ensureIndexIsVisible(newIndex)
 		}
 	}
+	
+	protected abstract fun updateSelection(tree: JTree)
+	
+	protected fun setSelectedIndex(list: JTree, newIndex: Int) {
+		if (newIndex in 0 until list.rowCount) {
+			list.setSelectionRow(newIndex)
+			list.scrollRowToVisible(newIndex)
+		}
+	}
 }