Index: main/plugin-core-ui/resources/js/Ametys/form/ConfigurableFormPanel.js
===================================================================
--- main/plugin-core-ui/resources/js/Ametys/form/ConfigurableFormPanel.js	(revision 33334)
+++ main/plugin-core-ui/resources/js/Ametys/form/ConfigurableFormPanel.js	(working copy)
@@ -1603,7 +1606,7 @@
                             {
                                 if (paramCheckers.length > 1)
                                 {
-                                    paramCheckers.sort(me._compareByOrder);
+                                	 paramCheckers.sort(Ext.bind(me._compareByOrder, me));
                                 }
                                 
                                 Ext.Array.each(paramCheckers, function(paramChecker){
@@ -1755,7 +1758,7 @@
                     {
                         if (paramCheckers.length > 1)
                         {
-                            paramCheckers.sort(me._compareByOrder);
+                        	paramCheckers.sort(Ext.bind(me._compareByOrder, me));
                         }
                         
                         Ext.Array.each(paramCheckers, function(paramChecker){
@@ -1788,7 +1791,7 @@
                     {
                         if (paramCheckers.length > 1)
                         {
-                            paramCheckers.sort(me._compareByOrder);
+                        	paramCheckers.sort(Ext.bind(me._compareByOrder, me));
                         }
                         Ext.Array.each(paramCheckers, function(paramChecker) {
                             me._paramCheckersDAO.addCategoryChecker(tab, paramChecker, finalOffset, finalROffset);
@@ -1884,6 +1887,11 @@
                         var paramCheckers = Ext.dom.Query.select('> param-checker', nodes[i]);
                         if (!Ext.isEmpty(paramCheckers))
                         {
+                            if (paramCheckers.length > 1)
+                            {
+                            	paramCheckers.sort(Ext.bind(me._compareByOrder, me));
+                            }
+                        	
                             Ext.Array.each(paramCheckers, function(paramChecker){
                                 var paramCheckerConf = {
                                     'id': Ext.dom.Query.selectValue("> id", paramChecker),
@@ -2035,7 +2043,7 @@
                     {
                         if (paramCheckers.length > 1)
                         {
-                            paramCheckers.sort(me._compareByOrder);
+                        	paramCheckers.sort(Ext.bind(me._compareByOrder, me));
                         }
                         
                         Ext.Array.each(paramCheckers, function(paramChecker){
@@ -2085,7 +2093,7 @@
                     {
                         if (paramCheckers.length > 1)
                         {
-                            paramCheckers.sort(me._compareByOrder);
+                        	paramCheckers.sort(Ext.bind(me._compareByOrder, me));
                         }
                         Ext.Array.each(paramCheckers, function(paramChecker) {
                             var paramCheckerConf = {
@@ -2112,16 +2120,16 @@
      * @param {Ametys.form.ConfigurableFormPanel.ParameterChecker} a the first parameter checker
      * @param {Ametys.form.ConfigurableFormPanel.ParameterChecker} b the second parameter checker
      */
-    _compareByOrder: function(a, b) {
-        
-        var aOrder = Ext.dom.Query.selectValue('order', a);
-        var bOrder = Ext.dom.Query.selectValue('order', b);
-        
+    _compareByOrder: function(a, b) 
+    {
+        var aOrder = this._isElement(a) ? Ext.dom.Query.selectValue('order', a) : a.order;
+        var bOrder = this._isElement(b) ? Ext.dom.Query.selectValue('order', b) : b.order;
+    	
         var comparison = aOrder - bOrder;
         
         return comparison != 0 ? comparison : 1;
     },
-
+    
     /**
      * Fill the configured form with values. #configure must have been called previously with data matching the configured data.
      * 