diff --git a/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java b/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java
index 466cc0e..519b530 100644
--- a/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java
+++ b/fmapp2/src/com/caf/hc_utils/FrequencyPicker.java
@@ -32,7 +32,6 @@
 import com.caf.fmradio.R;
 import android.widget.NumberPicker;
 import android.widget.NumberPicker.OnValueChangeListener;
-import android.graphics.Color;
 /**
  * A view for selecting the frequency
  *
@@ -86,7 +85,6 @@
         mMHzPicker = (NumberPicker) findViewById(R.id.mhz);
         if (mMHzPicker != null) {
            mMHzPicker.setOnLongPressUpdateInterval(100);
-           mMHzPicker.setBackgroundColor(Color.WHITE);
 
            mMHzPicker.setOnValueChangedListener(new OnValueChangeListener() {
               public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
@@ -102,7 +100,6 @@
         mKHzPicker = (NumberPicker) findViewById(R.id.khz);
         if (mKHzPicker != null) {
            mKHzPicker.setOnLongPressUpdateInterval(100);
-           mKHzPicker.setBackgroundColor(Color.WHITE);
            mKHzPicker.setOnValueChangedListener(new OnValueChangeListener() {
               public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
                   mKhz = newVal;
