Fix coordinates format screen
diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
index 3b06898..f1b1c10 100644
--- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java
+++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java
@@ -241,14 +241,21 @@
 
 	public boolean setSharedGeneralPreference(String key, Object value) {
 		OsmandPreference<?> preference = registeredPreferences.get(key);
-		if (preference != null) {
-			for (ApplicationMode mode : ApplicationMode.values(ctx)) {
-				settingsAPI.edit(getProfilePreferences(mode)).remove(key).commit();
+		if (preference instanceof CommonPreference) {
+			CommonPreference commonPref = (CommonPreference) preference;
+			if (commonPref.general) {
+				for (ApplicationMode mode : ApplicationMode.values(ctx)) {
+					if (commonPref.isSetForMode(mode)) {
+						settingsAPI.edit(getProfilePreferences(mode)).remove(key).commit();
+					}
+				}
+				boolean valueSaved = setPreference(key, value, ApplicationMode.DEFAULT);
+				if (valueSaved) {
+					commonPref.cachedValue = null;
+				}
+
+				return valueSaved;
 			}
-			if (preference instanceof CommonPreference) {
-				((CommonPreference) preference).cachedValue = null;
-			}
-			return setPreference(key, value, ApplicationMode.DEFAULT);
 		}
 		return false;
 	}
diff --git a/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java b/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java
index 8ad5a94..23c25dd 100644
--- a/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java
+++ b/OsmAnd/src/net/osmand/plus/settings/CoordinatesFormatFragment.java
@@ -119,13 +119,9 @@
 		int newFormat = getCoordinatesFormatForKey(key);
 		if (newFormat != -1) {
 			ApplicationMode selectedAppMode = getSelectedAppMode();
-			if (settings.COORDINATES_FORMAT.isSetForMode(selectedAppMode)) {
-				if (!settings.COORDINATES_FORMAT.getModeValue(selectedAppMode).equals(newFormat)) {
-					settings.COORDINATES_FORMAT.set(newFormat);
-					updateSelectedFormatPrefs(key);
-					return true;
-				}
-			} else {
+			if (!settings.COORDINATES_FORMAT.getModeValue(selectedAppMode).equals(newFormat)) {
+				updateSelectedFormatPrefs(key);
+
 				FragmentManager fragmentManager = getFragmentManager();
 				if (fragmentManager != null) {
 					ChangeGeneralProfilesPrefBottomSheet.showInstance(fragmentManager, settings.COORDINATES_FORMAT.getId(), newFormat, this, false);
diff --git a/OsmAnd/src/net/osmand/plus/settings/bottomsheets/ChangeGeneralProfilesPrefBottomSheet.java b/OsmAnd/src/net/osmand/plus/settings/bottomsheets/ChangeGeneralProfilesPrefBottomSheet.java
index 8e8ebeb..580fd02 100644
--- a/OsmAnd/src/net/osmand/plus/settings/bottomsheets/ChangeGeneralProfilesPrefBottomSheet.java
+++ b/OsmAnd/src/net/osmand/plus/settings/bottomsheets/ChangeGeneralProfilesPrefBottomSheet.java
@@ -9,8 +9,6 @@
 import net.osmand.PlatformUtil;
 import net.osmand.plus.ApplicationMode;
 import net.osmand.plus.OsmandApplication;
-import net.osmand.plus.OsmandSettings.CommonPreference;
-import net.osmand.plus.OsmandSettings.OsmandPreference;
 import net.osmand.plus.R;
 import net.osmand.plus.base.bottomsheetmenu.BaseBottomSheetItem;
 import net.osmand.plus.base.bottomsheetmenu.SimpleBottomSheetItem;
@@ -35,12 +33,7 @@
 		if (app == null || args == null || newValue == null || !args.containsKey(PREFERENCE_ID)) {
 			return;
 		}
-
 		final String prefId = args.getString(PREFERENCE_ID);
-		CommonPreference pref = getPreference(prefId);
-		if (pref == null) {
-			return;
-		}
 
 		items.add(new TitleItem(getString(R.string.change_default_settings)));
 		items.add(new LongDescriptionItem(getString(R.string.apply_preference_to_all_profiles)));
@@ -52,13 +45,8 @@
 				.setOnClickListener(new View.OnClickListener() {
 					@Override
 					public void onClick(View v) {
-						boolean valueSaved = app.getSettings().setSharedGeneralPreference(prefId, newValue);
-						if (valueSaved) {
-							BaseSettingsFragment target = (BaseSettingsFragment) getTargetFragment();
-							if (target != null) {
-								target.updateAllSettings();
-							}
-						}
+						app.getSettings().setSharedGeneralPreference(prefId, newValue);
+						updateTargetSettings();
 						dismiss();
 					}
 				})
@@ -75,10 +63,7 @@
 					@Override
 					public void onClick(View v) {
 						app.getSettings().setPreference(prefId, newValue);
-						BaseSettingsFragment target = (BaseSettingsFragment) getTargetFragment();
-						if (target != null) {
-							target.updateAllSettings();
-						}
+						updateTargetSettings();
 						dismiss();
 					}
 				})
@@ -92,6 +77,7 @@
 				.setOnClickListener(new View.OnClickListener() {
 					@Override
 					public void onClick(View v) {
+						updateTargetSettings();
 						dismiss();
 					}
 				})
@@ -104,16 +90,11 @@
 		return true;
 	}
 
-	private CommonPreference getPreference(String prefId) {
-		OsmandApplication app = getMyApplication();
-		if (app != null) {
-			OsmandPreference pref = app.getSettings().getPreference(prefId);
-			if (pref instanceof CommonPreference) {
-				return (CommonPreference) pref;
-			}
+	private void updateTargetSettings() {
+		BaseSettingsFragment target = (BaseSettingsFragment) getTargetFragment();
+		if (target != null) {
+			target.updateAllSettings();
 		}
-
-		return null;
 	}
 
 	public static void showInstance(@NonNull FragmentManager fm, String prefId, Object newValue, Fragment target, boolean usedOnMap) {