diff --git a/ecrire/inc_spip_sax.php b/ecrire/inc_spip_sax.php
index 5dcb9e72a047e90e80f800d350f6e6f94f074242..ab3337650a386fa6fe01cb9f9ee9b59e286f54b0 100644
--- a/ecrire/inc_spip_sax.php
+++ b/ecrire/inc_spip_sax.php
@@ -69,8 +69,8 @@ function finElement($parser, $name)
   $t = $contenu[$depth];
   $depth = substr($depth, 2);
   $t = ereg_replace("[\n\t ]+$", "\n" . $depth, $t);
-  // fusion <balise></balise> en <balise /> sauf pour textarea qui hallucine!
-  if ($t || ($name == 'textarea'))
+  // fusion <balise></balise> en <balise /> sauf pour qq unes qui hallucinent
+  if ($t || ($name == 'a') || ($name == 'textarea'))
     $res .= ($ouv ? ('<' . $ouv . '>') : '') . $t . "</" . $name . ">";
   else
     $res .= ($ouv ? ('<' . $ouv  . ' />') : ("</" .  $name . ">"));