diff --git a/src/com/android/mail/browse/EmlMessageViewFragment.java b/src/com/android/mail/browse/EmlMessageViewFragment.java
index 306c138..2fbbb72 100644
--- a/src/com/android/mail/browse/EmlMessageViewFragment.java
+++ b/src/com/android/mail/browse/EmlMessageViewFragment.java
@@ -27,7 +27,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.provider.OpenableColumns;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -337,7 +337,7 @@
                 return;
             }
 
-            ((ActionBarActivity) getActivity()).getSupportActionBar().setTitle(
+            ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(
                     data.getString(data.getColumnIndex(OpenableColumns.DISPLAY_NAME)));
         }
 
diff --git a/src/com/android/mail/compose/ComposeActivity.java b/src/com/android/mail/compose/ComposeActivity.java
index 7b05ffa..738111f 100644
--- a/src/com/android/mail/compose/ComposeActivity.java
+++ b/src/com/android/mail/compose/ComposeActivity.java
@@ -51,7 +51,7 @@
 import android.provider.BaseColumns;
 import android.support.v4.app.RemoteInput;
 import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
 import android.support.v7.view.ActionMode;
 import android.text.Editable;
 import android.text.Html;
@@ -138,7 +138,7 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
-public class ComposeActivity extends ActionBarActivity
+public class ComposeActivity extends AppCompatActivity
         implements OnClickListener, ActionBar.OnNavigationListener,
         RespondInlineListener, TextWatcher,
         AttachmentAddedOrDeletedListener, OnAccountChangedListener,
diff --git a/src/com/android/mail/ui/AccountFeedbackActivity.java b/src/com/android/mail/ui/AccountFeedbackActivity.java
index 89a736d..e3cb592 100644
--- a/src/com/android/mail/ui/AccountFeedbackActivity.java
+++ b/src/com/android/mail/ui/AccountFeedbackActivity.java
@@ -21,7 +21,7 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
 import android.view.Menu;
 import android.view.MenuItem;
 
@@ -37,7 +37,7 @@
  * as well as showing settings/help/send feedback in the action
  * overflow menu.
  */
-public abstract class AccountFeedbackActivity extends ActionBarActivity
+public abstract class AccountFeedbackActivity extends AppCompatActivity
         implements ConversationAccountController, AccountLoadCallbacks.AccountLoadCallbackListener {
     public static final String EXTRA_ACCOUNT_URI = "extra-account-uri";
 
diff --git a/src/com/android/mail/ui/MailboxSelectionActivity.java b/src/com/android/mail/ui/MailboxSelectionActivity.java
index e524083..9605f09 100644
--- a/src/com/android/mail/ui/MailboxSelectionActivity.java
+++ b/src/com/android/mail/ui/MailboxSelectionActivity.java
@@ -36,7 +36,7 @@
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
@@ -49,7 +49,7 @@
  * An activity that shows the list of all the available accounts and return the
  * one selected in onResult().
  */
-public class MailboxSelectionActivity extends ActionBarActivity implements OnClickListener,
+public class MailboxSelectionActivity extends AppCompatActivity implements OnClickListener,
         LoaderManager.LoaderCallbacks<Cursor>, AdapterView.OnItemClickListener {
 
     // Used to save our instance state
diff --git a/src/com/android/mail/ui/RestrictedActivity.java b/src/com/android/mail/ui/RestrictedActivity.java
index 50ea698..364f677 100644
--- a/src/com/android/mail/ui/RestrictedActivity.java
+++ b/src/com/android/mail/ui/RestrictedActivity.java
@@ -36,9 +36,9 @@
 
 /**
  * {@link RestrictedActivity} gives access to a subset of
- * {@link android.support.v7.app.ActionBarActivity} methods.
+ * {@link android.support.v7.app.AppCompatActivity} methods.
  * These methods match the signatures from
- * {@link android.support.v7.app.ActionBarActivity}.
+ * {@link android.support.v7.app.AppCompatActivity}.
  */
 public interface RestrictedActivity {
     /*
@@ -57,7 +57,7 @@
     void finish();
 
     /**
-     * @see android.support.v7.app.ActionBarActivity#getSupportActionBar()
+     * @see android.support.v7.app.AppCompatActivity#getSupportActionBar()
      */
     ActionBar getSupportActionBar();
 
@@ -102,7 +102,7 @@
     Window getWindow();
 
     /**
-     * @see android.support.v7.app.ActionBarActivity#supportInvalidateOptionsMenu()
+     * @see android.support.v7.app.AppCompatActivity#supportInvalidateOptionsMenu()
      */
     void supportInvalidateOptionsMenu();
 
@@ -147,7 +147,7 @@
     void showDialog(int id);
 
     /**
-     * @see android.support.v7.app.ActionBarActivity#startSupportActionMode(ActionMode.Callback)
+     * @see android.support.v7.app.AppCompatActivity#startSupportActionMode(ActionMode.Callback)
      */
     ActionMode startSupportActionMode(ActionMode.Callback callback);
 
