diff --git a/fmapp2/res/values/arrays.xml b/fmapp2/res/values/arrays.xml
index 079b388..af34e53 100644
--- a/fmapp2/res/values/arrays.xml
+++ b/fmapp2/res/values/arrays.xml
@@ -297,7 +297,7 @@
     <item>Germany (87.5MHz to 108.0MHz in 50 KHz steps)</item>
     <item>Greece (87.5MHz to 108.0MHz in 50 KHz steps)</item>
     <item>Hong Kong (87.5MHz to 108.0MHz in 100 KHz steps)</item>
-    <item>India (91.0MHz to 106.4MHz in 100 KHz steps)</item>
+    <item>India (87.5MHz to 108.0MHz in 100 KHz steps)</item>
     <item>Ireland (87.5MHz to 108.0MHz in 50 KHz steps)</item>
     <item>Italy (87.5MHz to 108.0MHz in 50 KHz steps)</item>
     <item>Korea (87.5MHz to 108.0MHz in 200 KHz steps)</item>
diff --git a/fmapp2/res/values/customize.xml b/fmapp2/res/values/customize.xml
index f4dcdbc..3216d42 100644
--- a/fmapp2/res/values/customize.xml
+++ b/fmapp2/res/values/customize.xml
@@ -39,12 +39,6 @@
     <bool name="def_fm_country_location_enabled">false</bool>
 
     <!--
-        customize the the special carrier for fm,
-        default value is false,true is for Micromax
-    -->
-    <bool name="def_fm_special_carrier_enabled">false</bool>
-
-    <!--
         customize the output list,true is stereo only, false is stereo and mono,
             default value is false
     -->
diff --git a/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java b/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java
index fb383e1..a664f51 100644
--- a/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java
+++ b/fmapp2/src/com/caf/fmradio/FmSharedPreferences.java
@@ -171,7 +171,6 @@
    private static boolean mAFAutoSwitch = true;
    private static int mRecordDuration = 0;
    private static int mLastAudioMode = -1;
-   private static boolean mSpecialCarrierFlag = false;
 
    public static int mDefaultCountryIndex = REGIONAL_BAND_NORTH_AMERICA;
 
@@ -454,8 +453,6 @@
       {
          return;
       }
-      mSpecialCarrierFlag = mContext.getResources().getBoolean(
-              R.bool.def_fm_special_carrier_enabled);
       SharedPreferences sp = mContext.getSharedPreferences(SHARED_PREFS, Context.MODE_PRIVATE);
       mTunedFrequency = sp.getInt(PREF_LAST_TUNED_FREQUENCY, DEFAULT_NO_FREQUENCY);
       mRecordDuration = sp.getInt(LAST_RECORD_DURATION, RECORD_DUR_INDEX_0_VAL);
@@ -944,15 +941,9 @@
         }
         case REGIONAL_BAND_INDIA:
         {
-          if (mSpecialCarrierFlag) {
-              /*87500 TO 108000 IN 100 KHZ STEPS*/
-              mFMConfiguration.setLowerLimit(87500);
-              mFMConfiguration.setUpperLimit(108000);
-          } else {
-              /*91000 TO 106400 IN 100 KHZ STEPS*/
-              mFMConfiguration.setLowerLimit(91000);
-              mFMConfiguration.setUpperLimit(106400);
-          }
+          /*87500 TO 108000 IN 100 KHZ STEPS*/
+          mFMConfiguration.setLowerLimit(87500);
+          mFMConfiguration.setUpperLimit(108000);
           mFrequencyBand_Stepsize = 100;
           break;
         }
