diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index c77d56262063826c8a7118fb48681b636a6595fd..4badced9cd9aedaa0e05455760caf629b507321d 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -659,23 +659,23 @@ function chemin($file, $dirname='', $include=false){
 function find_in_path ($file, $dirname='', $include=false) {
 	static $files=array(), $dirs=array();
 
+	if (isset($files[$dirname][$file])) {
+		if ($include) include_once $files[$dirname][$file];
+		return  $files[$dirname][$file];
+	}
 	$a = strrpos($file,'/');
 	if ($a !== false) {
 		$dirname .= substr($file, 0, ++$a);
 		$file = substr($file, $a);
 	}
 
-	if (isset($files[$dirname][$file])) {
-		if ($include) include_once $files[$dirname][$file];
-		return  $files[$dirname][$file];
-	}
 	foreach(creer_chemin() as $dir) {
 		if (!isset($dirs[$a = $dir . $dirname]))
 			$dirs[$a] = (is_dir($a) || !$a) ;
 		if ($dirs[$a]) {
 			if (is_readable($a .= $file)) {
 				if ($include) include_once $a;
-				return $files[$dirname][$file] = $a;
+				return $files[$dirname][$file] = $files[''][$dirname . $file] = $a;
 			}
 		}
 	}