diff --git a/ecrire/public/sandbox.php b/ecrire/public/sandbox.php
index dafcaffba14423a9bb457c7e5f1cc95c77ac79c9..7bc64d1bad683b8704a39b87a0fa62beb7670559 100644
--- a/ecrire/public/sandbox.php
+++ b/ecrire/public/sandbox.php
@@ -62,9 +62,14 @@ function sandbox_composer_filtre($fonc, $code, $arglist, &$p){
 	// le filtre est defini sous forme de fonction ou de methode
 	// par ex. dans inc_texte, inc_filtres ou mes_fonctions
 	elseif ($f = chercher_filtre($fonc)) {
+
 		// cas particulier : le filtre |set doit acceder a la $Pile
 		// proto: filtre_set(&$Pile, $val, $args...)
-		$refl = new ReflectionFunction($f);
+		if (strpbrk($f, ':')) { // Class::method
+			$refl = new ReflectionMethod($f);
+		} else {
+			$refl = new ReflectionFunction($f);
+		}
 		$refs = $refl->getParameters();
 		if (isset($refs[0]) AND $refs[0]->name == 'Pile') {
 			$code = "$f(\$Pile,$code$arglist)";