diff --git a/product/ERP5Catalog/tests/testCatalog.py b/product/ERP5Catalog/tests/testCatalog.py
index 3451545f4c4eaadd98eb3b9c0c2b5c079c14e4d6..e553f2ecad6c87fd652ba451dd3984b7f49aa879 100755
--- a/product/ERP5Catalog/tests/testCatalog.py
+++ b/product/ERP5Catalog/tests/testCatalog.py
@@ -299,6 +299,32 @@ class Test(ERP5TypeTestCase):
     folder_object_list = [x.getObject().getId() for x in person_module.searchFolder()]
     self.assertEquals(['4'],folder_object_list)
 
+  def test_10_OrderedSearchFolder(self, quiet=0, run=run_all_test):
+    if not run: return
+    if not quiet:
+      message = 'Ordered Search Folder'
+      ZopeTestCase._print('\n%s ' % message)
+      LOG('Testing... ',0,message)
+
+    person_module = self.getPersonModule()
+
+    # Clear catalog
+    portal_catalog = self.getCatalogTool()
+    portal_catalog.manage_catalogClear()
+
+    person = person_module.newContent(id='a',portal_type='Person',title='a',description='z')
+    person.immediateReindexObject()
+    person = person_module.newContent(id='b',portal_type='Person',title='a',description='y')
+    person.immediateReindexObject()
+    person = person_module.newContent(id='c',portal_type='Person',title='a',description='x')
+    person.immediateReindexObject()
+    folder_object_list = [x.getObject().getId() for x in person_module.searchFolder(sort_on=[('id','ascendign')])]
+    self.assertEquals(['a','b','c'],folder_object_list)
+    folder_object_list = [x.getObject().getId() for x in person_module.searchFolder(sort_on=[('title','ascendign'),('description','ascending')])]
+    self.assertEquals(['c','b','a'],folder_object_list)
+    folder_object_list = [x.getObject().getId() for x in person_module.searchFolder(sort_on=[('title','ascendign'),('description','descending')])]
+    self.assertEquals(['a','b','c'],folder_object_list)
+
   def atest_99_BadCatalog(self, quiet=0, run=run_all_test):
     """
     We should make sure that if a catalog method fails,