Index: server/Slim/Control/Queries.pm =================================================================== --- server/Slim/Control/Queries.pm (revision 25942) +++ server/Slim/Control/Queries.pm (working copy) @@ -2272,27 +2272,15 @@ } elsif ($entity =~ /(duration|artist|album|title|genre)/) { - my $track = Slim::Schema->rs('Track')->objectForUrl({ - 'url' => Slim::Player::Playlist::song($client, $index), - 'create' => 1, - 'readTags' => 1, - }); - - if (blessed($track) && $track->can('secs')) { - - # Just call the method on Track - if ($entity eq 'duration') { - - $request->addResult("_$entity", $track->secs()); - - } elsif ($entity eq 'album' || $entity eq 'artist' || $entity eq 'genre') { - - $request->addResult("_$entity", $track->$entity->name || 0); - - } else { - - $request->addResult("_$entity", $track->$entity()); - } + my $songData = _songData( + $request, + Slim::Player::Playlist::song($client, $index), + 'dalg', # tags needed for our entities + 0, # not in menu mode + ); + + if (defined $songData->{$entity}) { + $request->addResult("_$entity", $songData->{$entity}); } }