Yes, that's correct; The problem is that if you don't have the appropriate classes added, jstree will mistakenly assume this is one of the OTHER classes and add in 'jstree-leaf' which is not always the correct state. Mistakenly classing this object is a leaf means that the ajax loading event doesn't get attached to it, because as far as jstree is concerned there is no children to ajax load. The fix below removes the jstree-leaf class too late, and thus the behaviour is never initiated.