I have not committed the fix yet but I have the culprit. The ever popular off by one! The item index in the menu is 0 based but was being compared against the list count.
index > menuitems.size() // should have been >= I want to read over the rest of the menu code to make sure there are no more hidden surprises like this one. I would like to thank kattetosk from #blackbox for spending the 30 minutes with me tracking this down. For those quick fix types, Basemenu::find() replace the > with >=.
