diff --git a/src/com/android/contacts/ContactsActivity.java b/src/com/android/contacts/ContactsActivity.java
index d78d19c..06254d3 100644
--- a/src/com/android/contacts/ContactsActivity.java
+++ b/src/com/android/contacts/ContactsActivity.java
@@ -64,8 +64,8 @@
         mTabHost.setOnTabChangedListener(this);
 
         // Setup the tabs
-        setupActivityStreamTab();
         setupContactsTab();
+        setupSocialStreamTab();
         setupFavoritesTab();
 
         setCurrentTab(intent);
@@ -89,13 +89,13 @@
         }
     }
 
-    private void setupActivityStreamTab() {
+    private void setupSocialStreamTab() {
         // Just a placeholder for now
-        Intent intent = new Intent("com.android.contacts.action.LIST_DEFAULT");
-        intent.setClass(this, ActivityStreamActivity.class);
+        Intent intent = new Intent("com.android.contacts.action.SOCIAL_STREAM");
+        intent.setClass(this, SocialStreamActivity.class);
 
-        mTabHost.addTab(mTabHost.newTabSpec("stream")
-                .setIndicator(getText(R.string.activityStreamIconLabel),
+        mTabHost.addTab(mTabHost.newTabSpec("social")
+                .setIndicator(getText(R.string.socialStreamIconLabel),
                         getResources().getDrawable(R.drawable.ic_tab_contacts))
                 .setContent(intent));
     }
diff --git a/src/com/android/contacts/ActivityStreamActivity.java b/src/com/android/contacts/SocialStreamActivity.java
similarity index 89%
rename from src/com/android/contacts/ActivityStreamActivity.java
rename to src/com/android/contacts/SocialStreamActivity.java
index 0440864..8917fb4 100644
--- a/src/com/android/contacts/ActivityStreamActivity.java
+++ b/src/com/android/contacts/SocialStreamActivity.java
@@ -20,13 +20,13 @@
 import android.os.Bundle;
 import android.widget.ArrayAdapter;
 
-public class ActivityStreamActivity extends ListActivity {
+public class SocialStreamActivity extends ListActivity {
 
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        setContentView(R.layout.activity_list_content);
+        setContentView(R.layout.social_list_content);
 
         setListAdapter(new ArrayAdapter<String>(this,
                 android.R.layout.simple_list_item_1));
