diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index b21db91..5dba472 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -1902,10 +1902,10 @@
 
         if (buttonTtyMode != settingsTtyMode) {
             switch(buttonTtyMode) {
-            case TTY_MODE_OFF:
-            case TTY_MODE_FULL:
-            case TTY_MODE_HCO:
-            case TTY_MODE_VCO:
+            case TelecommManager.TTY_MODE_OFF:
+            case TelecommManager.TTY_MODE_FULL:
+            case TelecommManager.TTY_MODE_HCO:
+            case TelecommManager.TTY_MODE_VCO:
                 android.provider.Settings.Secure.putInt(getContentResolver(),
                         android.provider.Settings.Secure.PREFERRED_TTY_MODE, buttonTtyMode);
                 break;
@@ -1941,10 +1941,10 @@
     private void updatePreferredTtyModeSummary(int TtyMode) {
         String [] txts = getResources().getStringArray(R.array.tty_mode_entries);
         switch(TtyMode) {
-            case TTY_MODE_OFF:
-            case TTY_MODE_HCO:
-            case TTY_MODE_VCO:
-            case TTY_MODE_FULL:
+            case TelecommManager.TTY_MODE_OFF:
+            case TelecommManager.TTY_MODE_HCO:
+            case TelecommManager.TTY_MODE_VCO:
+            case TelecommManager.TTY_MODE_FULL:
                 mButtonTTY.setSummary(txts[TtyMode]);
                 break;
             default:
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index 36e06fd..5176b27 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -26,7 +26,6 @@
 import android.telecomm.CallCapabilities;
 import android.telecomm.ConnectionService;
 import android.telecomm.StatusHints;
-import android.telecomm.TelecommConstants;
 import android.telephony.DisconnectCause;
 
 import com.android.internal.telephony.Call;
diff --git a/src/com/android/services/telephony/TtyManager.java b/src/com/android/services/telephony/TtyManager.java
index e714bb3..e25f206 100644
--- a/src/com/android/services/telephony/TtyManager.java
+++ b/src/com/android/services/telephony/TtyManager.java
@@ -105,13 +105,13 @@
 
     private static int telecommModeToPhoneMode(int telecommMode) {
         switch (telecommMode) {
-            case TTY_MODE_FULL:
+            case TelecommManager.TTY_MODE_FULL:
                 return Phone.TTY_MODE_FULL;
-            case TTY_MODE_VCO:
+            case TelecommManager.TTY_MODE_VCO:
                 return Phone.TTY_MODE_VCO;
-            case TTY_MODE_HCO:
+            case TelecommManager.TTY_MODE_HCO:
                 return Phone.TTY_MODE_HCO;
-            case TTY_MODE_OFF:
+            case TelecommManager.TTY_MODE_OFF:
             default:
                 return Phone.TTY_MODE_OFF;
         }
