diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getPreferredSectionItemList.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getPreferredSectionItemList.xml
index 1627c6572a606196d35187dad602c80397268ca3..74ba8098499259465af73a022d45a5c0649939ba 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getPreferredSectionItemList.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getPreferredSectionItemList.xml
@@ -62,8 +62,13 @@ value_list = section_value.getGroupRelatedValueList(portal_type=portal_type,\n
 value_list = [r for r in value_list\n
               if r.getProperty(\'validation_state\') not in (\'invalidated\', \'deleted\')]\n
 \n
+def sorted(seq, key):\n
+  seq = seq[::]\n
+  seq.sort(key=key)\n
+  return seq\n
+\n
 # convert to ListField format\n
-return [(\'\', \'\')] + [(obj.getTitle(), obj.getRelativeUrl()) for obj in value_list]\n
+return [(\'\', \'\')] + sorted([(obj.getTitle(), obj.getRelativeUrl()) for obj in value_list], key=lambda x: x[0])\n
 </string> </value>
         </item>
         <item>
@@ -110,6 +115,7 @@ return [(\'\', \'\')] + [(obj.getTitle(), obj.getRelativeUrl()) for obj in value
                             <string>$append0</string>
                             <string>_getiter_</string>
                             <string>r</string>
+                            <string>sorted</string>
                             <string>obj</string>
                           </tuple>
                         </value>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index fdbec449cadb6168c90e349ac72b1e294bf69f0f..805a9f80ae615594341271c856dc52a82c266147 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1459
\ No newline at end of file
+1460
\ No newline at end of file