diff --git a/sanitizer/svg.php b/sanitizer/svg.php
index 9f983906702f0d3b1d1a4f863561d731881a65e4..2cc360c7d633a01eb2395af6389cc20ce7bf0cd0 100644
--- a/sanitizer/svg.php
+++ b/sanitizer/svg.php
@@ -48,11 +48,21 @@ function sanitizer_svg_dist($file) {
 		) {
 			spip_log("sanitization SVG $file", "svg");
 
-			include_spip('lib/svg-sanitizer/src/Sanitizer');
-			include_spip('lib/svg-sanitizer/src/data/AttributeInterface');
-			include_spip('lib/svg-sanitizer/src/data/AllowedAttributes');
-			include_spip('lib/svg-sanitizer/src/data/TagInterface');
-			include_spip('lib/svg-sanitizer/src/data/AllowedTags');
+			if (!class_exists('enshrined\svgSanitize\Sanitizer')) {
+				spl_autoload_register(function ($class) {
+					$prefix = 'enshrined\\svgSanitize\\';
+					$base_dir = _DIR_PLUGIN_MEDIAS . 'lib/svg-sanitizer/src/';
+					$len = strlen($prefix);
+					if (strncmp($prefix, $class, $len) !== 0) {
+						return;
+					}
+					$relative_class = substr($class, $len);
+					$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
+									if (file_exists($file)) {
+						require $file;
+					}
+				});
+			}
 
 			// sanitization can need multiples call
 			$maxiter = 10;