Index: Slim/Buttons/Home.pm =================================================================== --- Slim/Buttons/Home.pm (revision 3116) +++ Slim/Buttons/Home.pm (working copy) @@ -426,19 +426,31 @@ my $depth = shift; $depth = "" unless defined $depth; - $client->curDepth($depth); - $client->curSelection($client->curDepth(),$item); + for my $menuitem (@{$homeChoices{$client}}) { + next unless $menuitem eq $item; + $client->curDepth($depth); + $client->curSelection($client->curDepth(),$item); + } + + if (!defined($client->curSelection($client->curDepth()))) { + $client->curSelection($client->curDepth(),$@{$homeChoices{$client}}->[0]); + } } -# PushMode to a specific target pointer within the home menu tree. +# PushMode to a specific target pointer within the home menu tree +# disregarding top level. sub jumpToMenu { my $client = shift; my $menu = shift; my $depth = shift; + + $depth = "" unless defined $depth; - $depth = "" unless defined $depth; - Slim::Buttons::Home::jump($client,$menu,$depth); + $client->curDepth($depth); + $client->curSelection($client->curDepth(),$menu); + my $nextParams = Slim::Buttons::Home::getNextList($client); + Slim::Buttons::Common::pushModeLeft( $client, 'INPUT.List',