diff --git a/ecrire/inc/plugin.php b/ecrire/inc/plugin.php
index 6c670acb0a6e92646f087f18ea09cad164db0cc9..0936c89563398711b9b9215b8a4cb471b4eccc06 100644
--- a/ecrire/inc/plugin.php
+++ b/ecrire/inc/plugin.php
@@ -41,8 +41,9 @@ function liste_plugin_files($dir_plugins = null){
 			$dir_plugins_suppl = array_filter(explode(':',_DIR_PLUGINS_SUPPL));
 			foreach($dir_plugins_suppl as $suppl) {
 				$suppl = _DIR_RACINE.$suppl;
-				foreach (fast_find_plugin_dirs($suppl) as $plugin) {
-					$plugin_files[$dir_plugins][] = $plugin;
+				foreach (fast_find_plugin_dirs($suppl, 100, false) as $plugin) {
+					if (!in_array($plugin, $plugin_files[$dir_plugins]))
+						$plugin_files[$dir_plugins][] = $plugin;
 				}
 			}
 		}
@@ -56,13 +57,14 @@ function liste_plugin_files($dir_plugins = null){
 	return $plugin_files[$dir_plugins];
 }
 
-function fast_find_plugin_dirs($dir,$max_prof=100) {
+function fast_find_plugin_dirs($dir, $max_prof=100, $racine=true) {
 	$fichiers = array();
-	// revenir au repertoire racine si on a recu dossier/truc
+	// si $racine = true revenir au repertoire racine si on a recu dossier/truc
 	// pour regarder dossier/truc/ ne pas oublier le / final
-	$dir = preg_replace(',/[^/]*$,', '', $dir);
-	if ($dir == '') $dir = '.';
-
+	if ($racine) {
+		$dir = preg_replace(',/[^/]*$,', '', $dir);
+		if ($dir == '') $dir = '.';
+	}
 	if (!is_dir($dir))
 		return $fichiers;
 	if (is_plugin_dir($dir,'')) {