You can't do
function pll_remove_new_parse_query($query) {
global $polylang;
remove_filter('parse_query', array(&$polylang, 'parse_query'),6);
return $query;
}
add_filter('parse_query', 'pll_remove_new_parse_query', 5);
due to this bug: http://core.trac.wordpress.org/ticket/17817
Any other hook strictly between 'plugins_loaded', 1 and 'parse_query' should be OK:
add_filter('init', 'pll_remove_new_parse_query');