Index: kernel/db/db_tag_processor.php =================================================================== --- kernel/db/db_tag_processor.php (revision 14027) +++ kernel/db/db_tag_processor.php (working copy) @@ -1540,7 +1540,6 @@ { $user_sorting_start = $this->getUserSortIndex() + --$params['pos']; $list =& $this->GetList($params); -// $object =& $this->Application->recallObject( $this->getPrefixSpecial() ); if($params['type'] == 'field') return $list->GetOrderField($user_sorting_start); if($params['type'] == 'direction') return $list->GetOrderDirection($user_sorting_start); Index: kernel/db/dblist.php =================================================================== --- kernel/db/dblist.php (revision 13994) +++ kernel/db/dblist.php (working copy) @@ -777,7 +777,19 @@ $pos = 0; } - return isset($this->OrderFields[$pos][0]) ? $this->OrderFields[$pos][0] : ''; + if ( isset($this->OrderFields[$pos][0]) ) { + $field = $this->OrderFields[$pos][0]; + $lang = $this->Application->GetVar('m_lang'); + + if ( preg_match('/^IF\(COALESCE\(.*?\.(l' . $lang . '_.*?), ""\),/', $field, $regs) ) { + // undo result of kDBList::getMLSortField method + return $regs[1]; + } + + return $field; + } + + return ''; } function GetOrderDirection($pos = NULL, $no_default = false)