diff -urp apachesolr-current/apachesolr.module apachesolr-patched/apachesolr.module --- apachesolr-current/apachesolr.module 2010-09-01 18:33:33.000000000 +0200 +++ apachesolr-patched/apachesolr.module 2010-11-01 11:38:52.000000000 +0100 @@ -1695,12 +1695,17 @@ function apachesolr_l($text, $path, $opt $options['query'] += $get; $options_query = drupal_query_string_encode($options['query']); $url = $options_query ? url($path, $options_query): url($path); - + // Decode html entities before sending through check_plain + $text = html_entity_decode($text); + return ''. ($options['html'] ? $text : check_plain($text)) .''; } function theme_apachesolr_unclick_link($facet_text, $path, $options = array()) { if (empty($options['html'])) { + // Decode html entities in $facet_text before running through check_plain(). + // This helps to avoid double encoded apersands. + $facet_text = html_entity_decode($facet_text); $facet_text = check_plain($facet_text); } else {