If the 'if' is removed from the out function, the menu almost works perfectly. The only downside is that the current second tier menu is 'refreshed' when you mouseout rather than simply staying revealed. It disappears then animates back in as if it is being restored as it would if you moused out from a sibling non-current second tier menu. It may be an acceptable workaround for you though and it is far better than your current problem. Change the 'out' function to this:
out = function(){ var $$ = $(this), menu = getMenu($$); var o = getOpts(menu,true); clearTimeout(menu.sfTimer); menu.sfTimer=setTimeout(function(){ $$.hideSuperfishUl(); if (o.$path.length){over.call(o.$path);} },o.delay); }, All I did there is remove the "if" statement. It's a hack, but until Superfish officially supports using pathClass with three tiered menus, this may have to suffice. I did try a few things to try and get a perfect result but it eluded me and I don't have as much time to spend on this as I used to unfortunately. I hope this workaround helps you out. Joel Birch.