diff --git a/qcom/fmradio/FmReceiver.java b/qcom/fmradio/FmReceiver.java
index 9beecd7d9e61a26ef3b5ac6a68c4dca4ba68cc88..24d31623012e75adb7618d5381794185173d4017 100644
--- a/qcom/fmradio/FmReceiver.java
+++ b/qcom/fmradio/FmReceiver.java
@@ -58,11 +58,11 @@ public class FmReceiver extends FmTransceiver
    static final int DISABLE_LPF = 0;
    private static final String TAG = "FMRadio";
 
-   private static boolean mEnableLpfGsm = false;
-   private static boolean mEnableLpfCdma = false;
-   private static boolean mEnableLpfWcdma = false;
-   private static boolean mEnableLpfLte = false;
-   private static boolean mEnableLpfScdma = false;
+   private static int  mEnableLpfGsm = 0x1;
+   private static int  mEnableLpfCdma = 0x2;
+   private static int  mEnableLpfWcdma = 0x4;
+   private static int  mEnableLpfLte = 0x8;
+   private static int  mEnableLpfScdma = 0x10;
 
    /**
    * Search (seek/scan/searchlist) by decrementing the frequency
@@ -2891,11 +2891,13 @@ public class FmReceiver extends FmTransceiver
      return;
    }
    public void FMcontrolLowPassFilter(int state, int net_type, int enable) {
+       int RatConf = SystemProperties.getInt("persist.fm_wan.ratconf", 0);
+       Log.v (TAG, "FMcontrolLowPassFilter " + RatConf);
        switch (net_type)
        {
            case TelephonyManager.NETWORK_TYPE_CDMA:
                if ((state == TelephonyManager.DATA_CONNECTED) &&
-                      mEnableLpfCdma == true) {
+                      ((mEnableLpfCdma & RatConf) == mEnableLpfCdma)) {
                    Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type));
                    mControl.enableLPF(sFd, enable);
                } else {
@@ -2904,7 +2906,7 @@ public class FmReceiver extends FmTransceiver
                break;
            case TelephonyManager.NETWORK_TYPE_LTE:
                if ((state == TelephonyManager.DATA_CONNECTED) &&
-                      mEnableLpfLte == true) {
+                      ((mEnableLpfLte & RatConf) == mEnableLpfLte)) {
                    Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type));
                    mControl.enableLPF(sFd, enable);
                } else {
@@ -2913,7 +2915,7 @@ public class FmReceiver extends FmTransceiver
                break;
            case TelephonyManager.NETWORK_TYPE_GSM:
                if ((state == TelephonyManager.DATA_CONNECTED) &&
-                      mEnableLpfGsm == true) {
+                      ((mEnableLpfGsm & RatConf) == mEnableLpfGsm)) {
                    Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type));
                    mControl.enableLPF(sFd, enable);
                } else {
@@ -2922,7 +2924,7 @@ public class FmReceiver extends FmTransceiver
                break;
            case TelephonyManager.NETWORK_TYPE_TD_SCDMA:
                if ((state == TelephonyManager.DATA_CONNECTED) &&
-                      mEnableLpfScdma == true) {
+                      ((mEnableLpfScdma & RatConf) == mEnableLpfScdma)) {
                    Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type));
                    mControl.enableLPF(sFd, enable);
                } else {