diff --git a/DependencyInjection/Builder/GraphDefinitionBuilder.php b/DependencyInjection/Builder/GraphDefinitionBuilder.php
index 1be9d730bac9c51fa5b9a1a59e672467df0e626f..654e01f786a5ffc28aed97c9a559f96ec79c11a0 100644
--- a/DependencyInjection/Builder/GraphDefinitionBuilder.php
+++ b/DependencyInjection/Builder/GraphDefinitionBuilder.php
@@ -90,7 +90,7 @@ class GraphDefinitionBuilder
     protected function doBuild()
     {
         list($source, $sourceFilter) = $this->buildSources();
-        
+
         $layoutFilter = $this->filterBuilder->build($this->config['layout']) ?: $sourceFilter;
         $decorator = $this->buildFilteredDecorator();
         $namespace = $this->buildNamespace();
@@ -199,7 +199,7 @@ class GraphDefinitionBuilder
     protected function buildNamespace()
     {
         $type = $this->config['layout']['namespaces'];
-        
+
         if ($type === "entities") {
             return $this->setDefinitionDecorator(
                 "namespace.$type",
@@ -208,7 +208,10 @@ class GraphDefinitionBuilder
             );
         }
 
-        return new Reference("irstea.plant_uml.namespaces.$type");
+        return $this->setDefinitionDecorator(
+            "namespace.$type",
+            "irstea.plant_uml.namespaces.$type.template",
+        );
     }
 
     /**
diff --git a/Resources/config/services.yml b/Resources/config/services.yml
index 4459e3623eb59004f438f4a49cc005be35e0b192..fe95ed4f806ea5d8625c9285aeb7518f6f64d0fa 100644
--- a/Resources/config/services.yml
+++ b/Resources/config/services.yml
@@ -54,15 +54,21 @@ services:
         abstract: true
         public: false
 
-    irstea.plant_uml.namespaces.php:
+    irstea.plant_uml.namespaces.php.template:
         class: Irstea\PlantUmlBundle\Model\Namespace_\Php\RootNamespace
+        abstract: true
+        public: false
 
-    irstea.plant_uml.namespaces.flat:
+    irstea.plant_uml.namespaces.flat.template:
         class: Irstea\PlantUmlBundle\Model\Namespace_\FlatNamespace
+        abstract: true
+        public: false
 
-    irstea.plant_uml.namespaces.bundles:
+    irstea.plant_uml.namespaces.bundles.template:
         class: Irstea\PlantUmlBundle\Model\Namespace_\BundleNamespace
         arguments: ["%kernel.bundles%"]
+        abstract: true
+        public: false
 
     irstea.plant_uml.namespaces.entities.template:
         class: Irstea\PlantUmlBundle\Doctrine\DoctrineNamespace