--- a/kernel/search/plugins/ezsearchengine/ezsearchengine.php 
+++ b/kernel/search/plugins/ezsearchengine/ezsearchengine.php 
@@ -1024,53 +1024,33 @@
             $orderByFieldsSQL = $orderBySQLArray['sortingFields'];
             $sortWhereSQL = $orderBySQLArray['whereSQL'];
             $sortFromSQL = $orderBySQLArray['fromSQL'];
+            $sortSelectSQL = $orderBySQLArray['selectSQL'];
 
             // Fetch data from table
-            $searchQuery ='';
-            $dbName = $db->databaseName();
-            if ( $dbName == 'mysql' )
-            {
-                $searchQuery = "SELECT DISTINCT ezcontentobject.*, ezcontentclass.serialized_name_list as class_serialized_name_list, ezcontentobject_tree.*
-                            $versionNameTargets
-                    FROM
-                       $tmpTablesFrom $tmpTablesSeparator
-                       ezcontentobject,
-                       ezcontentclass,
-                       ezcontentobject_tree
-                       $versionNameTables
-                       $sortFromSQL
-                    WHERE
-                    $tmpTablesWhere $and
-                    $tmpTablesWhereExtra
-                    ezcontentobject.contentclass_id = ezcontentclass.id and
-                    ezcontentclass.version = '0' and
-                    ezcontentobject.id = ezcontentobject_tree.contentobject_id and
-                    ezcontentobject_tree.node_id = ezcontentobject_tree.main_node_id
-                    $versionNameJoins
-                    $showInvisibleNodesCond
-                    $sortWhereSQL
-                    ORDER BY $orderByFieldsSQL";
-            }
-            else
-            {
-                $searchQuery = "SELECT DISTINCT ezcontentobject.*, ezcontentclass.serialized_name_list as class_serialized_name_list, ezcontentobject_tree.*
-                            $versionNameTargets
-                    FROM
-                       $tmpTablesFrom $tmpTablesSeparator
-                       ezcontentobject,
-                       ezcontentclass,
-                       ezcontentobject_tree
-                       $versionNameTables
-                    WHERE
-                    $tmpTablesWhere $and
-                    $tmpTablesWhereExtra
-                    ezcontentobject.contentclass_id = ezcontentclass.id and
-                    ezcontentclass.version = '0' and
-                    ezcontentobject.id = ezcontentobject_tree.contentobject_id and
-                    ezcontentobject_tree.node_id = ezcontentobject_tree.main_node_id
-                    $versionNameJoins
-                     ";
-            }
+            $searchQuery = "SELECT DISTINCT ezcontentobject.*, ezcontentclass.serialized_name_list as class_serialized_name_list,
+                ezcontentobject_tree.*, ezcontentobject_name.name as name,
+                ezcontentobject_name.real_translation $sortSelectSQL
+                FROM
+                   $tmpTablesFrom $tmpTablesSeparator
+                   ezcontentobject
+                   INNER JOIN ezcontentclass ON (ezcontentclass.id = ezcontentobject.contentclass_id )
+                   INNER JOIN ezcontentobject_tree ON (ezcontentobject_tree.contentobject_id = ezcontentobject.id)
+                   INNER JOIN ezcontentobject_name ON (
+                       ezcontentobject_name.contentobject_id = ezcontentobject_tree.contentobject_id AND
+                       ezcontentobject_name.content_version = ezcontentobject_tree.contentobject_version
+                   )
+                   $sortFromSQL
+                WHERE
+                $tmpTablesWhere $and
+                $tmpTablesWhereExtra
+                ezcontentclass.version = '0' AND
+                ezcontentobject_tree.node_id = ezcontentobject_tree.main_node_id AND
+                " . eZContentLanguage::sqlFilter( 'ezcontentobject_name', 'ezcontentobject' ) . "
+                $showInvisibleNodesCond
+                $sortWhereSQL
+                ORDER BY $orderByFieldsSQL";
+
+
             // Count query
             $languageCond = eZContentLanguage::languagesSQLFilter( 'ezcontentobject' );
             if ( $tmpTableCount == 0 )
@@ -1146,8 +1126,10 @@
             }
         }
         $attributeJoinCount = 0;
-        $attributeFromSQL = "";
-        $attributeWereSQL = "";
+        $attributeFromSQL = '';
+        $attributeWereSQL = '';
+        $selectSQL = '';
+
         if ( $sortList !== false )
         {
             $sortingFields = '';
@@ -1183,13 +1165,15 @@
                         case 'class_identifier':
                         {
                             $sortingFields .= 'ezcontentclass.identifier';
+                            $selectSQL .= ', ezcontentclass.identifier';
                         } break;
                         case 'class_name':
                         {
                             $classNameFilter = eZContentClassName::sqlFilter();
-                            $sortingFields .= $classNameFilter['nameField'];
-                            $attributeFromSQL .= ", $classNameFilter[from]";
-                            $attributeWhereSQL .= "$classNameFilter[where] AND ";
+                            $selectSQL .= ', ' . $classNameFilter['nameField'] . ' AS class_name';
+                            $sortingFields .= 'class_name';
+                            $attributeFromSQL .= ', $classNameFilter[from]';
+                            $attributeWhereSQL .= '$classNameFilter[where] AND ';
                         } break;
                         case 'priority':
                         {
@@ -1225,6 +1209,7 @@
                             $attributeWereSQL .= " AND a$attributeJoinCount.contentobject_id = ezcontentobject.id AND
                                                   a$attributeJoinCount.contentclassattribute_id = $sortClassID AND
                                                   a$attributeJoinCount.version = ezcontentobject_name.content_version";
+                            $selectSQL .= ", a$attributeJoinCount.$sortKey";
 
                             $attributeJoinCount++;
                         }break;
@@ -1251,6 +1236,7 @@
         }
 
         return array( 'sortingFields' => $sortingFields,
+                      'selectSQL' => $selectSQL,
                       'fromSQL' => $attributeFromSQL,
                       'whereSQL' => $attributeWereSQL );
     }
