diff --git a/ecrire/balise/formulaire_forum.php b/ecrire/balise/formulaire_forum.php
index e8341695c4293b66e8e1957e7d8b4086636c3ccb..02158b03c3904311770385c0854bd7800a12aa76 100644
--- a/ecrire/balise/formulaire_forum.php
+++ b/ecrire/balise/formulaire_forum.php
@@ -272,21 +272,21 @@ function sql_recherche_donnees_forum ($idr, $idf, $ida, $idb, $ids) {
 
 	// changer la table de reference s'il y a lieu (pour afficher_groupes[] !!)
 	if ($ida) {
-		$titre = spip_abstract_fetsel('titre', 'spip_articles', "id_article = $ida");
+		$titre = spip_abstract_fetsel('titre', 'spip_articles', "statut = 'publie' AND id_article = $ida");
 		$table = "articles";
 	} else if ($idb) {
-		$titre = spip_abstract_fetsel('titre', 'spip_breves', "id_breve = $idb");
+		$titre = spip_abstract_fetsel('titre', 'spip_breves', "statut = 'publie' AND id_breve = $idb");
 		$table = "breves";
 	} else if ($ids) {
-		$titre = spip_abstract_fetsel('nom_site AS titre', 'spip_syndic', "id_syndic = $ids");
+		$titre = spip_abstract_fetsel('nom_site AS titre', 'spip_syndic', "statut = 'publie' AND id_syndic = $ids");
 		$table = "syndic";
 	} else if ($idr) {
-		$titre = spip_abstract_fetsel('titre', 'spip_rubriques', "id_rubrique = $idr");
+		$titre = spip_abstract_fetsel('titre', 'spip_rubriques', "statut = 'publie' AND id_rubrique = $idr");
 		$table = "rubriques";
 	}
 
-	if ($idf)
-		$titre = spip_abstract_fetsel('titre', 'spip_forum', "id_forum = $idf");
+	if ($idf AND $titre)
+		$titre = spip_abstract_fetsel('titre', 'spip_forum', "statut = 'publie' AND id_forum = $idf");
 
 	if ($titre) {
 		$titre = supprimer_numero($titre['titre']);
diff --git a/ecrire/public/boucles.php b/ecrire/public/boucles.php
index 8555077d695732aa7663a1e55bfd291273a14128..a8a2d178ca306811efb1eb423ce8189254457323 100644
--- a/ecrire/public/boucles.php
+++ b/ecrire/public/boucles.php
@@ -138,7 +138,9 @@ function boucle_FORUMS_dist($id_boucle, &$boucles) {
 	}
 	// Restreindre aux elements publies
 	if (!$boucle->statut) {
-		if (!$GLOBALS['var_preview'])
+		if ($GLOBALS['var_preview'])
+			$boucle->where[]= array("'IN'", "'$mstatut'", "'(\"publie\",\"prive\")'");		
+		else
 			$boucle->where[]= array("'='", "'$mstatut'", "'\"publie\"'");
 	}