diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js
index d6eeb0e..5750ce6 100644
--- a/resources/js/ext.uls.init.js
+++ b/resources/js/ext.uls.init.js
@@ -39,12 +39,16 @@
 	 * @param {String} language
 	 */
 	mw.uls.changeLanguage = function ( language ) {
-		var uri = new mw.Uri( window.location.href );
-
-		uri.extend( {
-			setlang: language
-		} );
-		window.location.href = uri.toString();
+		var form = document.createElement( 'form' );
+		form.action = window.location.href;
+		form.method = 'POST';
+		var input = document.createElement( 'input' );
+		input.type = 'hidden';
+		input.name = 'setlang';
+		input.value = language;
+		form.appendChild( input );
+		document.body.appendChild( form );
+		form.submit();
 	};
 
 	mw.uls.setPreviousLanguages = function ( previousLanguages ) {
