diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9c65679..beb7fe2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -727,11 +727,7 @@
          [CHAR LIMIT=65] -->
     <string name="call_log_header_yesterday">Yesterday</string>
 
-    <!-- String used as a header in the call log above calls which occurred last week.
-         [CHAR LIMIT=65] -->
-    <string name="call_log_header_last_week">Last week</string>
-
-    <!-- String used as a header in the call log above calls which occurred more than a week ago.
+    <!-- String used as a header in the call log above calls which occurred two days or more ago.
          [CHAR LIMIT=65] -->
     <string name="call_log_header_other">Older</string>
 
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index e727f7a..b585b89 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -1350,8 +1350,6 @@
            return mContext.getResources().getString(R.string.call_log_header_today);
        } else if (group == CallLogGroupBuilder.DAY_GROUP_YESTERDAY) {
            return mContext.getResources().getString(R.string.call_log_header_yesterday);
-       } else if (group == CallLogGroupBuilder.DAY_GROUP_LAST_WEEK) {
-           return mContext.getResources().getString(R.string.call_log_header_last_week);
        } else {
            return mContext.getResources().getString(R.string.call_log_header_other);
        }
diff --git a/src/com/android/dialer/calllog/CallLogGroupBuilder.java b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
index 9c4e631..1f11e1e 100644
--- a/src/com/android/dialer/calllog/CallLogGroupBuilder.java
+++ b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
@@ -80,11 +80,8 @@
     /** Day grouping for calls which occurred yesterday. */
     public static final int DAY_GROUP_YESTERDAY = 1;
 
-    /** Day grouping for calls which occurred last week. */
-    public static final int DAY_GROUP_LAST_WEEK = 2;
-
     /** Day grouping for calls which occurred before last week. */
-    public static final int DAY_GROUP_OTHER = 3;
+    public static final int DAY_GROUP_OTHER = 2;
 
     /** Instance of the time object used for time calculations. */
     private static final Time TIME = new Time();
@@ -264,8 +261,6 @@
             return DAY_GROUP_TODAY;
         } else if (days == 1) {
             return DAY_GROUP_YESTERDAY;
-        } else if (days > 1 && days <=7) {
-            return DAY_GROUP_LAST_WEEK;
         } else {
             return DAY_GROUP_OTHER;
         }
