diff --git a/include/class_acl.inc b/include/class_acl.inc
index 1fc26706dd7b0f1822eb7eb37616db80434f6c1c..67fb4925c5e4785bdf940c38bf120d9242b1da51 100644
--- a/include/class_acl.inc
+++ b/include/class_acl.inc
@@ -46,30 +46,6 @@ class acl
     ];
   }
 
-  /*!
-   *  \brief Function sort an array by elements priority
-   *
-   *  \param Array $list Array to be sorted
-   */
-  static function sort_by_priority ($list)
-  {
-    uksort($list,
-      function ($a, $b)
-      {
-        $infos_a = pluglist::pluginInfos(preg_replace('|^[^/]*/|', '', $a));
-        $infos_b = pluglist::pluginInfos(preg_replace('|^[^/]*/|', '', $b));
-        $pa = (isset($infos_a['plPriority']) ? $infos_a['plPriority'] : 0);
-        $pb = (isset($infos_b['plPriority']) ? $infos_b['plPriority'] : 0);
-        if ($pa == $pb) {
-          return 0;
-        }
-        return ($pa < $pb ? -1 : 1);
-      }
-    );
-
-    return $list;
-  }
-
   /*!
    * \brief Explode a role
    *
diff --git a/include/class_pluglist.inc b/include/class_pluglist.inc
index 986c8b9fed3aaa27dd204315f98e237d40bcdcde..99b917fad3a04c896f558178cff4458a0e63f2a7 100644
--- a/include/class_pluglist.inc
+++ b/include/class_pluglist.inc
@@ -161,6 +161,10 @@ class pluglist
         if (isset($infos['plFilter'])) {
           $infos['plFilterObject'] = ldapFilter::parse($infos['plFilter']);
         }
+        if (isset($infos['plObjectType']) && !isset($infos['plPriority']) && !is_numeric(key($infos['plObjectType']))) {
+          /* Set main tab priority to 0 */
+          $infos['plPriority'] = 0;
+        }
         $infos['plForeignRefs']         = [];
         $infos['INDEX']                 = $index;
         $this->info[$cname]             = $infos;
diff --git a/plugins/admin/aclrole/class_aclEditionDialog.inc b/plugins/admin/aclrole/class_aclEditionDialog.inc
index aad8aa9e9c3b10e3e863ff5e6c5a41422e74cb9a..454508826815b32542238ebfd2a8cc4e2163b143 100644
--- a/plugins/admin/aclrole/class_aclEditionDialog.inc
+++ b/plugins/admin/aclrole/class_aclEditionDialog.inc
@@ -272,7 +272,6 @@ class ACLEditionDialog extends GenericDialog
     $cols     = 3;
     $tmp      = session::get('plist');
     $plist    = $tmp->info;
-    asort($plist);
 
     /* Add select all/none buttons */
     $style = 'style="width:100px;"';
@@ -305,7 +304,6 @@ class ACLEditionDialog extends GenericDialog
     $display .= '<input '.$style.' type="button" name="set_true_all_write"  onClick="acl_set_all(\'[^0]_w$\',true);"  value="W+"/>';
     $display .= '<input '.$style.' type="button" name="set_false_all_write" onClick="acl_set_all(\'[^0]_w$\',false);" value="W-"/>';
 
-    $list = acl::sort_by_priority($list);
     foreach ($list as $key => $name) {
       /* Create sub acl if it does not exist */
       if (!isset($this->aclContents[$key])) {