diff --git a/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java b/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java
index fbdb7fe84cf3725de27c43478e000e5995d9e8ae..3f305c3f9b31c2cc99ac875decf959ac6f990adf 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/Localizer.java
@@ -22,10 +22,8 @@ public class Localizer {
 	private static Localizer INSTANCE;
 	@Nullable
 	private final Locale locale;
-	private final SharedPreferences sharedPreferences;
 
-	private Localizer(SharedPreferences prefs) {
-		this.sharedPreferences = prefs;
+	private Localizer(SharedPreferences sharedPreferences) {
 		locale = getLocaleFromTag(
 				sharedPreferences.getString(LANGUAGE, "default"));
 	}
@@ -41,10 +39,6 @@ public class Localizer {
 		return INSTANCE;
 	}
 
-	public SharedPreferences getSharedPreferences() {
-		return sharedPreferences;
-	}
-
 	// Get Locale from BCP-47 tag
 	@Nullable
 	public static Locale getLocaleFromTag(String tag) {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
index f75ba97e30ecd491c69abcb220086102adbbe87b..e975690e9b5ac19564d119789c62df09895754cc 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
@@ -4,7 +4,6 @@ import android.annotation.TargetApi;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.media.Ringtone;
 import android.media.RingtoneManager;
 import android.net.Uri;
@@ -211,8 +210,9 @@ public class SettingsFragment extends PreferenceFragmentCompat
 				if (!tmp.isEmpty() && !tmp.equals(nativeName))
 					nativeName = tmp;
 			}
+			// Prefix with LRM marker to prevent any RTL direction
 			nativeNames[i] =
-					nativeName.substring(0, 1).toUpperCase() +
+					"\u200E" + nativeName.substring(0, 1).toUpperCase() +
 							nativeName.substring(1);
 		}
 		language.setEntries(nativeNames);
@@ -397,10 +397,6 @@ public class SettingsFragment extends PreferenceFragmentCompat
 		builder.setPositiveButton(R.string.sign_out_button,
 				(dialogInterface, i) -> {
 					language.setValue(newValue);
-					SharedPreferences prefs =
-							Localizer.getInstance().getSharedPreferences();
-					prefs.edit().putString(LANGUAGE, newValue)
-							.commit();
 					Intent intent = new Intent(getContext(),
 							NavDrawerActivity.class);
 					intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
diff --git a/briar-android/src/main/res/values/arrays.xml b/briar-android/src/main/res/values/arrays.xml
index 6ce3f24255fb11668a1b4934d3b74236b54e6904..978c98698025dbab54c2b7405e6d35b334180e47 100644
--- a/briar-android/src/main/res/values/arrays.xml
+++ b/briar-android/src/main/res/values/arrays.xml
@@ -41,6 +41,7 @@
 		<item>nb</item>
 		<item>nl</item>
 		<item>oc</item>
+		<item>pl</item>
 		<item>pt-BR</item>
 		<item>ro</item>
 		<item>ru</item>