diff --git a/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs.js.xml b/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs.js.xml
index 6da15fd9975753e9229144d1d6fb365fe03f0daa..be156c11b8fce0eed0e60797e0336a3c6b8aa705 100644
--- a/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs.js.xml
+++ b/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs.js.xml
@@ -12,7 +12,7 @@
         </item>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts36997821.03</string> </value>
+            <value> <string>ts37002880.65</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -520,13 +520,20 @@ var GadgetIndex = {\n
   },\n
   \n
   registerGadget: function(gadget) {\n
-    /* Register gadget */\n
+    /*\n
+     * Register gadget\n
+     */\n
     this.gadget_list.push(gadget);\n
   },\n
 \n
   unregisterGadget: function(gadget) {\n
-    /* Unregister gadget */\n
-    // XXX:\n
+    /*\n
+     * Unregister gadget\n
+     */\n
+    index = jQuery.inArray(gadget, this.gadget_list);\n
+    if (index!=-1) {\n
+      this.gadget_list.splice(index, 1);\n
+    }       \n
   },\n
 \n
   getGadgetById: function (gadget_id){\n
@@ -718,7 +725,7 @@ var RenderJs = {\n
       is_gadget_list_loaded = GadgetIndex.isGadgetListLoaded();\n
       if (is_gadget_list_loaded){\n
         if (!is_ready) {\n
-          console.log("trigger");\n
+          //console.log("trigger");\n
           GadgetIndex.getRootGadget().getDom().trigger("ready");\n
         }\n
         is_ready = true;\n
@@ -762,7 +769,7 @@ var RenderJs = {\n
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>25230</int> </value>
+            <value> <int>25373</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs_test.js.xml b/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs_test.js.xml
index f7870a3073b4d0f943b8675366bb2d58111e0b4c..40ee0f802af4c9483cfe024b1ab296c05ec73244 100644
--- a/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs_test.js.xml
+++ b/bt5/erp5_jquery_plugin_renderjs/PathTemplateItem/portal_skins/erp5_jquery/jquery/plugin/renderjs/renderjs_test.js.xml
@@ -8,7 +8,7 @@
       <dictionary>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts33622213.73</string> </value>
+            <value> <string>ts37003035.66</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -20,7 +20,9 @@
         </item>
         <item>
             <key> <string>data</string> </key>
-            <value> <string>function setupRenderJSTest(){\n
+            <value> <string encoding="cdata"><![CDATA[
+
+function setupRenderJSTest(){\n
   /*\n
   * Main RenderJS test entry point\n
   */\n
@@ -32,15 +34,45 @@
                 deepEqual(data, Cache.get(cache_id));\n
   });\n
 \n
+ \n
   module("TabularGadget");\n
   test(\'addNewTabGadget\', function(){\n
               TabbularGadget.addNewTabGadget("Person_view", "qunit-fixture", "FormUpdater.update");\n
               equal($("#qunit-fixture").children(".gadget").length, 1);\n
+              equal(GadgetIndex.getGadgetList().length, 1);\n
+\n
   });\n
+\n
+  module("GadgetIndex");\n
+  test(\'GadgetIndex\', function(){\n
+               // re-init GadgetIndex\n
+              $.each(GadgetIndex.getGadgetList(), function () {\n
+                GadgetIndex.unregisterGadget(this);\n
+              });\n
+              \n
+              $("#qunit-fixture").append(\'<div gadget="" id="new">XXXXXXXXXXXX</div>\');\n
+              RenderJs.bootstrap($("#qunit-fixture"));\n
+              GadgetIndex.getRootGadget().getDom().one("ready", function (){\n
+                RenderJs.update($("#qunit-fixture"));\n
+              });\n
+              equal(GadgetIndex.getGadgetList().length, 2);\n
+              equal(true, GadgetIndex.isGadgetListLoaded());\n
+              equal($("#qunit-fixture").attr("id"), GadgetIndex.getRootGadget().getDom().attr("id"));\n
+              equal(GadgetIndex.getGadgetById("qunit-fixture"), GadgetIndex.getRootGadget());\n
+\n
+              // unregister gadget\n
+              GadgetIndex.unregisterGadget(GadgetIndex.getGadgetById("qunit-fixture"));\n
+              equal(GadgetIndex.getGadgetList().length, 1);\n
+              equal(GadgetIndex.getGadgetById("new"), GadgetIndex.getRootGadget());\n
+              \n
+\n
+   });\n
 \n
 };\n
 \n
-</string> </value>
+
+
+]]></string> </value>
         </item>
         <item>
             <key> <string>precondition</string> </key>
@@ -48,7 +80,7 @@
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>545</int> </value>
+            <value> <int>1755</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_jquery_plugin_renderjs/bt/revision b/bt5/erp5_jquery_plugin_renderjs/bt/revision
index 3cacc0b93c9c9c03a72da624ca28a09ba5c1336f..ca7bf83ac53a27a2a914bed25e1a07478dd8ef47 100644
--- a/bt5/erp5_jquery_plugin_renderjs/bt/revision
+++ b/bt5/erp5_jquery_plugin_renderjs/bt/revision
@@ -1 +1 @@
-12
\ No newline at end of file
+13
\ No newline at end of file