diff --git a/src/com/android/contacts/dialpad/DialpadFragment.java b/src/com/android/contacts/dialpad/DialpadFragment.java
index be873c6..092e657 100644
--- a/src/com/android/contacts/dialpad/DialpadFragment.java
+++ b/src/com/android/contacts/dialpad/DialpadFragment.java
@@ -101,8 +101,6 @@
     private View mDelete;
     private ToneGenerator mToneGenerator;
     private Object mToneGeneratorLock = new Object();
-    private Drawable mDigitsBackground;
-    private Drawable mDigitsEmptyBackground;
     private View mDialpad;
     private View mAdditionalButtonsRow;
 
@@ -216,14 +214,9 @@
             mDigits.getText().clear();
         }
 
-        // Previously we changed background color depending on its text status. Now we don't.
-        // TODO: remove the relevant codes entirely once we're sure we won't use them.
-        /*if (!isDigitsEmpty()) {
-            mDigits.setBackgroundDrawable(mDigitsBackground);
-        } else {
+        if (isDigitsEmpty()) {
             mDigits.setCursorVisible(false);
-            mDigits.setBackgroundDrawable(mDigitsEmptyBackground);
-        }*/
+        }
 
         updateDialAndDeleteButtonEnabledState();
     }
@@ -250,8 +243,6 @@
 
         // Load up the resources for the text field.
         Resources r = getResources();
-        mDigitsBackground = r.getDrawable(R.drawable.btn_dial_textfield_active);
-        mDigitsEmptyBackground = r.getDrawable(R.drawable.btn_dial_textfield);
 
         mDigits = (EditText) fragmentView.findViewById(R.id.digits);
         mDigits.setKeyListener(DialerKeyListener.getInstance());
