diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index 21149690c9c620d76806004907272ee5f194c9ca..dc4920a1d40f0cbba6d1e7642c8cfef156ea8706 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -608,7 +608,7 @@ function traiter_listes ($texte) {
 				$pile_li[$profond] = "</li>";
 			}
 			else { 
-				$ajout = "\n- ";	// puce normale
+				$ajout = "\n-";	// puce normale ou <hr>
 			}
 
 			$texte .= $ajout . $regs[2];
@@ -839,12 +839,6 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 
 	$letexte = trim($letexte);
 
-
-	if ($flag_str_replace && !$flag_preg_replace) {
-		$letexte = ereg_replace("\n(-{4,}|_{4,})", "\n<hr class=\"spip\">\n", $letexte);
-	} else {
-		$letexte = ereg_remplace("/\n(----+|____+)/", "\n<hr class=\"spip\">\n", $letexte);
-	}
 		
 	// les listes
 	if (ereg("\n-[*#]", "\n".$letexte))
@@ -852,6 +846,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 
 	// autres raccourcis
 	if ($flag_str_replace && !$flag_preg_replace) {
+		$letexte = ereg_replace("\n(-{4,}|_{4,})", "\n<hr class=\"spip\">\n", $letexte);
 		$letexte = ereg_replace("^- *", "$puce&nbsp;", $letexte);
 		$letexte = str_replace("\n- *", "\n<br>$puce&nbsp;",$letexte);
 		$letexte = str_replace("\n_ +", "\n<br>",$letexte);
@@ -868,7 +863,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 	}
 	else {
 		$cherche1 = array(
-			//* 0 */ 	"/\n(----+|____+)/",
+			/* 0 */ 	"/\n(----+|____+)/",
 			/* 1 */ 	"/^- */",
 			/* 2 */ 	"/\n- */",
 			/* 3 */ 	"/\n_ +/",
@@ -885,7 +880,7 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 			/* 14 */	"/\n/"
 		);
 		$remplace1 = array(
-			//* 0 */ 	"\n<hr class=\"spip\">\n",
+			/* 0 */ 	"\n<hr class=\"spip\">\n",
 			/* 1 */ 	"$puce&nbsp;",
 			/* 2 */ 	"\n<br>$puce&nbsp;",
 			/* 3 */ 	"\n<br>",