When you open the last node for edit programmatically, either an exception is thrown or the editor is not opened. Steps to reproduce: 1. Drag a RadTreeView from Toolbox and drop it onto the form. 2. Set the size of RadTreeView at design time to Size(354, 248). 3. Add a RadButton. 4. Use the following code: public Form1() { InitializeComponent(); radTreeView1.AllowEdit = true; radTreeView1.Nodes.Add("Root"); for (int i = 0; i < 20; i++) { radTreeView1.Nodes[0].Nodes.Add("Test" + i.ToString()); } } private void radButton1_Click(object sender, EventArgs e) { RadTreeNode node = new RadTreeNode("Demo" + radTreeView1.Nodes[0].Nodes.Count.ToString()); radTreeView1.Nodes[0].Nodes.Add(node); node.BeginEdit(); } 5. Click the button. 6. Collapse the root node. 7. Click the button again. Workaround: private void button1_Click(object sender, EventArgs e) { RadTreeNode node = new RadTreeNode("Demo" + radTreeView1.Nodes[0].Nodes.Count.ToString()); radTreeView1.Nodes[0].Nodes.Add(node); this.radTreeView1.TreeViewElement.Update(RadTreeViewElement.UpdateActions.Reset); node.Parent.Expanded = true; ((MyTreeViewElement)this.radTreeView1.TreeViewElement).SuspendEndEdit = true; node.BeginEdit(); ((MyTreeViewElement)this.radTreeView1.TreeViewElement).SuspendEndEdit = false; } public class MyTreeView : RadTreeView { protected override RadTreeViewElement CreateTreeViewElement() { return new MyTreeViewElement(); } public override string ThemeClassName { get { return typeof(RadTreeView).FullName; } set { } } } public class MyTreeViewElement : RadTreeViewElement { public bool SuspendEndEdit = false; protected override Type ThemeEffectiveType { get { return typeof(RadTreeViewElement); } } protected override bool EndEditCore(bool commitChanges) { if (SuspendEndEdit) { return false; } return base.EndEditCore(commitChanges); } }