diff --git a/include/class_template.inc b/include/class_template.inc
index 21bd8bc808671ca301c7f262e358658a1f79b895..3802e0006e8bd44529e2e0750a9b31874d366351 100644
--- a/include/class_template.inc
+++ b/include/class_template.inc
@@ -50,7 +50,7 @@ class template
         $this->attributes[$class] = array();
         $attrs = array_unique(array_merge($this->tabObject->by_object[$class]->getRequiredAttributes(), $this->needed));
         foreach (array_keys($this->tabObject->by_object[$class]->attributesAccess) as $attr) {
-          if (isset($this->attrs[$attr])) {
+          if (!$plugin->showInTemplate($attr, $this->attrs)) {
             continue;
           }
           if (in_array($attr, $attrs)) {
diff --git a/include/simpleplugin/class_simplePlugin.inc b/include/simpleplugin/class_simplePlugin.inc
index f45a075ba01278cb9a9a2a6f36e179cebf93b4c0..15934fcfabdf003e046fd13ff5bab239b892a455 100644
--- a/include/simpleplugin/class_simplePlugin.inc
+++ b/include/simpleplugin/class_simplePlugin.inc
@@ -988,6 +988,15 @@ class simplePlugin extends plugin
     }
     unset($attr);
   }
+
+  /* Returns TRUE if this attribute should be asked in the creation by template dialog */
+  function showInTemplate($attr, $templateAttrs)
+  {
+    if (isset($templateAttrs[$attr])) {
+      return FALSE;
+    }
+    return TRUE;
+  }
 }
 
 ?>