diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index e64e2c311e673b26ecf0133905a095f71b9a886a..93e7ac54c10c837fafa23c3774c8233722066307 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -66,6 +66,11 @@ function include_spip($f, $include = true) {
 	return find_in_path($f . '.php', '', $include);
 }
 
+
+function require_spip($f) {
+	return find_in_path($f . '.php', '', 'required');
+}
+
 // un pipeline est lie a une action et une valeur
 // chaque element du pipeline est autorise a modifier la valeur
 //
@@ -719,6 +724,18 @@ function find_in_path ($file, $dirname='', $include=false) {
 			}
 		}
 	}
+
+	if ($include){
+		spip_log("include_spip $dirname$file non trouve");
+		if ($include==='required'){
+			echo '<pre>',
+			"<strong>Erreur Fatale</strong><br />";
+			if (function_exists('debug_print_backtrace'))
+				echo debug_print_backtrace();
+			echo '</pre>';
+			die("Erreur interne: ne peut inclure $dirname$file");
+		}
+	}
 }
 
 /**