Scenario. Select language from language portlet that has been already added to site page. URL will be rewritten with language code in that case. Go to user profile settings. In that display settings. Change user preference language. Save it and refresh page. Change will not be reflected as per the last language selected by user. It will still show the language which user has been selected from language portlet.
However in Liferay's own website its working perfectly fine.