diff --git a/app/src/main/java/com/google/reviewit/ApprovalsFragment.java b/app/src/main/java/com/google/reviewit/ApprovalsFragment.java
index 2e2a196..2ca6cb9 100644
--- a/app/src/main/java/com/google/reviewit/ApprovalsFragment.java
+++ b/app/src/main/java/com/google/reviewit/ApprovalsFragment.java
@@ -20,6 +20,7 @@
 import android.view.ViewGroup;
 
 import com.google.gerrit.extensions.common.AccountInfo;
+import com.google.reviewit.app.ApprovalData;
 import com.google.reviewit.app.Change;
 import com.google.reviewit.widget.ApprovalEntry;
 import com.google.reviewit.widget.ApprovalsHeader;
@@ -44,16 +45,31 @@
     super.onActivityCreated(savedInstanceState);
 
     ViewGroup approvalList = vg(R.id.approvalList);
-    ApprovalsHeader approvalsHeader = new ApprovalsHeader(getContext());
-    approvalsHeader.init(change);
-    approvalList.addView(approvalsHeader);
+    ApprovalData approvalData = change.getApprovalData();
+
+    ApprovalsHeader reviewersHeader = new ApprovalsHeader(getContext());
+    reviewersHeader.init(change, getString(R.string.reviewers), true);
+    approvalList.addView(reviewersHeader);
     addSeparator(approvalList);
-    for (AccountInfo account : change.getApprovalData().reviewers) {
+    for (AccountInfo account : approvalData.reviewers) {
       ApprovalEntry approvalEntry = new ApprovalEntry(getContext());
       approvalEntry.init(getApp(), change, account);
       approvalList.addView(approvalEntry);
       addSeparator(approvalList);
     }
+
+    if (!approvalData.ccs.isEmpty()) {
+      ApprovalsHeader ccsHeader = new ApprovalsHeader(getContext());
+      ccsHeader.init(change, getString(R.string.ccs), false);
+      approvalList.addView(ccsHeader);
+      addSeparator(approvalList);
+      for (AccountInfo account : approvalData.ccs) {
+        ApprovalEntry approvalEntry = new ApprovalEntry(getContext());
+        approvalEntry.init(getApp(), change, account);
+        approvalList.addView(approvalEntry);
+        addSeparator(approvalList);
+      }
+    }
   }
 
   public void setChange(Change change) {
diff --git a/app/src/main/java/com/google/reviewit/app/AccountComparator.java b/app/src/main/java/com/google/reviewit/app/AccountComparator.java
new file mode 100644
index 0000000..2c10810
--- /dev/null
+++ b/app/src/main/java/com/google/reviewit/app/AccountComparator.java
@@ -0,0 +1,28 @@
+// Copyright (C) 2016 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.reviewit.app;
+
+import com.google.gerrit.extensions.common.AccountInfo;
+import com.google.reviewit.util.FormatUtil;
+
+import java.util.Comparator;
+
+public class AccountComparator implements Comparator<AccountInfo> {
+  @Override
+  public int compare(AccountInfo account1, AccountInfo account2) {
+    return FormatUtil.format(account1).compareTo(
+        FormatUtil.format(account2));
+  }
+}
diff --git a/app/src/main/java/com/google/reviewit/app/ApprovalData.java b/app/src/main/java/com/google/reviewit/app/ApprovalData.java
index 63316b8..e09b51f 100644
--- a/app/src/main/java/com/google/reviewit/app/ApprovalData.java
+++ b/app/src/main/java/com/google/reviewit/app/ApprovalData.java
@@ -19,33 +19,33 @@
 import com.google.gerrit.extensions.common.ApprovalInfo;
 import com.google.gerrit.extensions.common.ChangeInfo;
 import com.google.gerrit.extensions.common.LabelInfo;
-import com.google.reviewit.util.FormatUtil;
 
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
 public class ApprovalData {
   public final Set<AccountInfo> reviewers;
+  public final Set<AccountInfo> ccs;
   public final Map<String, LabelInfo> labels;
   public final TreeMap<String, Map<Integer, ApprovalInfo>> approvalsByLabel;
 
   public ApprovalData(ChangeInfo change) {
-    reviewers = new TreeSet<>(new Comparator<AccountInfo>() {
-      @Override
-      public int compare(AccountInfo account1, AccountInfo account2) {
-        return FormatUtil.format(account1).compareTo(
-            FormatUtil.format(account2));
+    reviewers = new TreeSet<>(new AccountComparator());
+    ccs = new TreeSet<>(new AccountComparator());
+    if (change.reviewers != null) {
+      if (change.reviewers.containsKey(ReviewerState.REVIEWER)) {
+        reviewers.addAll(change.reviewers.get(ReviewerState.REVIEWER));
       }
-    });
-    if (change.reviewers != null
-        && change.reviewers.containsKey(ReviewerState.REVIEWER)) {
-      reviewers.addAll(change.reviewers.get(ReviewerState.REVIEWER));
+      if (change.reviewers.containsKey(ReviewerState.CC)) {
+        ccs.addAll(change.reviewers.get(ReviewerState.CC));
+      }
     }
+
     labels = new TreeMap<>();
     approvalsByLabel = new TreeMap<>();
     for (Map.Entry<String, LabelInfo> label : change.labels.entrySet()) {
@@ -55,7 +55,6 @@
       List<ApprovalInfo> all = change.labels.get(label.getKey()).all;
       if (all != null) {
         for (ApprovalInfo approval : all) {
-          reviewers.add(approval);
           approvalsByAccount.put(approval._accountId, approval);
         }
       }
@@ -83,4 +82,11 @@
     }
     return min != null && min.equals(Integer.valueOf(value));
   }
+
+  public SortedSet<AccountInfo> reviewersAndCcs() {
+    SortedSet<AccountInfo> result = new TreeSet<>(new AccountComparator());
+    result.addAll(reviewers);
+    result.addAll(ccs);
+    return result;
+  }
 }
diff --git a/app/src/main/java/com/google/reviewit/widget/ApprovalsHeader.java b/app/src/main/java/com/google/reviewit/widget/ApprovalsHeader.java
index 4c5d473..0b493fa 100644
--- a/app/src/main/java/com/google/reviewit/widget/ApprovalsHeader.java
+++ b/app/src/main/java/com/google/reviewit/widget/ApprovalsHeader.java
@@ -16,6 +16,7 @@
 
 import android.content.Context;
 import android.graphics.Typeface;
+import android.support.annotation.StringRes;
 import android.util.AttributeSet;
 import android.view.Gravity;
 import android.view.ViewGroup;
@@ -47,17 +48,21 @@
     inflate(context, R.layout.approvals_header, this);
   }
 
-  public void init(Change change) {
-    for (String labelName : change.getApprovalData().labels.keySet()) {
-      TextView text = widgetUtil.createTextView(
-          FormatUtil.formatLabelName(labelName), 18);
-      text.setTypeface(null, Typeface.BOLD);
-      text.setGravity(Gravity.CENTER_HORIZONTAL);
-      text.setLayoutParams(
-          fixedLinearLayout(widgetUtil.dpToPx(40), widgetUtil.dpToPx(25)));
-      text.setPadding(
-          widgetUtil.dpToPx(2), 0, widgetUtil.dpToPx(2), 0);
-      ((ViewGroup) findViewById(R.id.labels)).addView(text);
+  public void init(Change change, String headerText, boolean showLabels) {
+    ((TextView) findViewById(R.id.headerText)).setText(headerText);
+
+    if (showLabels) {
+      for (String labelName : change.getApprovalData().labels.keySet()) {
+        TextView text = widgetUtil.createTextView(
+            FormatUtil.formatLabelName(labelName), 18);
+        text.setTypeface(null, Typeface.BOLD);
+        text.setGravity(Gravity.CENTER_HORIZONTAL);
+        text.setLayoutParams(
+            fixedLinearLayout(widgetUtil.dpToPx(40), widgetUtil.dpToPx(25)));
+        text.setPadding(
+            widgetUtil.dpToPx(2), 0, widgetUtil.dpToPx(2), 0);
+        ((ViewGroup) findViewById(R.id.labels)).addView(text);
+      }
     }
   }
 }
diff --git a/app/src/main/java/com/google/reviewit/widget/ApprovalsView.java b/app/src/main/java/com/google/reviewit/widget/ApprovalsView.java
index 8dd15ad..adfbff1 100644
--- a/app/src/main/java/com/google/reviewit/widget/ApprovalsView.java
+++ b/app/src/main/java/com/google/reviewit/widget/ApprovalsView.java
@@ -105,7 +105,7 @@
       headerRow.addView(center(labelNameText));
     }
 
-    for (AccountInfo account : approvalData.reviewers) {
+    for (AccountInfo account : approvalData.reviewersAndCcs()) {
       addApprovalRow(app, account, approvalData);
     }
   }
diff --git a/app/src/main/res/layout/approvals_header.xml b/app/src/main/res/layout/approvals_header.xml
index c0865f5..49c781a 100644
--- a/app/src/main/res/layout/approvals_header.xml
+++ b/app/src/main/res/layout/approvals_header.xml
@@ -31,9 +31,9 @@
     android:shrinkColumns="0">
     <TableRow>
       <TextView
+        android:id="@+id/headerText"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="@string/reviewers"
         android:textSize="18sp"
         android:textStyle="bold"/>
 
