diff --git a/res/values/config.xml b/res/values/config.xml
index 0b4851563f2..6f784dd7705 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -790,4 +790,7 @@
false
+
+
+ false
diff --git a/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java b/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
index 799543fb752..27b8c16e109 100644
--- a/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
+++ b/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
@@ -42,6 +42,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.internal.telephony.util.TelephonyUtils;
+import com.android.settings.R;
import com.android.settings.network.MobileNetworkRepository;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -110,6 +111,9 @@ public class ConvertToEsimPreferenceController extends TelephonyBasePreferenceCo
* To avoid showing users dialogs that can cause confusion,
* add conditions to allow conversion in the absence of active eSIM.
*/
+ if (!mContext.getResources().getBoolean(R.bool.config_psim_conversion_menu_enabled)) {
+ return CONDITIONALLY_UNAVAILABLE;
+ }
if (findConversionSupportComponent()) {
return mSubscriptionInfoEntity != null && mSubscriptionInfoEntity.isActiveSubscriptionId
&& !mSubscriptionInfoEntity.isEmbedded && isActiveSubscription(subId)