diff --git a/ecrire/inc/surligne.php b/ecrire/inc/surligne.php
index f57770fb7d602863b086624aa00c267259532615..350e59ab973a5afa12ef0b44cf2114fd9de7053e 100644
--- a/ecrire/inc/surligne.php
+++ b/ecrire/inc/surligne.php
@@ -10,20 +10,18 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
-//
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 // Ces commentaires vont etre substitue's en mode recherche
-// voir les champs SURLIGNE dans inc-index-squel
+// voir balise_DEBUT_SURLIGNE et balise_FIN_SURLIGNE
 
 define("MARQUEUR_SURLIGNE",  'debut_surligneconditionnel');
 define("MARQUEUR_FSURLIGNE", 'finde_surligneconditionnel');
 
 
 // http://doc.spip.org/@surligner_mots
-function surligner_mots($page) {
-  $surlignejs_engines = array(
+function surligner_mots($page, $surcharge_surligne='') {
+  	$surlignejs_engines = array(
       array(",".str_replace(array("/","."),array("\/","\."),$GLOBALS['meta']['adresse_site']).",i", ",recherche=([^&]+),i"), //SPIP
       array(",^http://(www\.)?google\.,i", ",q=([^&]+),i"),                            // Google
       array(",^http://(www\.)?search\.yahoo\.,i", ",p=([^&]+),i"),                     // Yahoo
@@ -41,7 +39,7 @@ function surligner_mots($page) {
     
   $ref = $_SERVER['HTTP_REFERER'];
   //avoid a js injection
-  if($surcharge_surligne=_request("var_recherche")) {
+  if($surcharge_surligne) {
     $surcharge_surligne = preg_replace(",(?<!\\\\)((?:(?>\\\\){2})*)('),","$1\\\\$2",$surcharge_surligne);
     $surcharge_surligne = str_replace("\\","\\\\",$surcharge_surligne);
     if($GLOBALS['meta']['charset']=='utf-8') {
diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php
index f62e53cd7a3a3942c1937b47c5a3c79a2902b0d7..c821d91f1bcfadb4b52f4c151f4f923b65b664ea 100644
--- a/ecrire/public/assembler.php
+++ b/ecrire/public/assembler.php
@@ -268,12 +268,11 @@ function inclure_balise_dynamique($texte, $echo=true, $ligne=0) {
 // Traiter var_recherche ou le referrer pour surligner les mots
 // http://doc.spip.org/@f_surligne
 function f_surligne ($texte) {
-	if ($GLOBALS['html']
-	AND (isset($_SERVER['HTTP_REFERER']) OR isset($_GET['var_recherche']))) {
-		include_spip('inc/surligne');
-		$texte = surligner_mots($texte);
-	}
-	return $texte;
+	if (!$GLOBALS['html']) return $texte;
+	$rech = _request('var_recherche');
+	if (!$rech AND !isset($_SERVER['HTTP_REFERER'])) return $texte;
+	include_spip('inc/surligne');
+	return surligner_mots($texte, $rech);
 }
 
 // Valider/indenter a la demande.