diff --git a/res/drawable/ic_launcher_application.png b/res/drawable/ic_launcher_application.png
index 7502484..3b28cc6 100644
--- a/res/drawable/ic_launcher_application.png
+++ b/res/drawable/ic_launcher_application.png
Binary files differ
diff --git a/res/drawable/ic_launcher_empty.png b/res/drawable/ic_launcher_empty.png
deleted file mode 100644
index 59bb6c5..0000000
--- a/res/drawable/ic_launcher_empty.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_launcher_folder_live.png b/res/drawable/ic_launcher_folder_live.png
new file mode 100644
index 0000000..2145747
--- /dev/null
+++ b/res/drawable/ic_launcher_folder_live.png
Binary files differ
diff --git a/res/drawable/ic_launcher_shortcut.png b/res/drawable/ic_launcher_shortcut.png
new file mode 100644
index 0000000..d6c0ef4
--- /dev/null
+++ b/res/drawable/ic_launcher_shortcut.png
Binary files differ
diff --git a/res/drawable/ic_search_widget.png b/res/drawable/ic_search_widget.png
index 0a4d8f4..37bf77e 100644
--- a/res/drawable/ic_search_widget.png
+++ b/res/drawable/ic_search_widget.png
Binary files differ
diff --git a/src/com/android/launcher/AddAdapter.java b/src/com/android/launcher/AddAdapter.java
index 996c619..245a7a0 100644
--- a/src/com/android/launcher/AddAdapter.java
+++ b/src/com/android/launcher/AddAdapter.java
@@ -31,8 +31,7 @@
  * Adapter showing the types of items that can be added to a {@link Workspace}.
  */
 public class AddAdapter extends BaseAdapter {
-    
-    private final Launcher mLauncher;
+
     private final LayoutInflater mInflater;
     
     private final ArrayList<ListItem> mItems = new ArrayList<ListItem>();
@@ -66,9 +65,8 @@
     
     public AddAdapter(Launcher launcher) {
         super();
-        
-        mLauncher = launcher;
-        mInflater = (LayoutInflater) mLauncher.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+
+        mInflater = (LayoutInflater) launcher.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         
         // Create default actions
         Resources res = launcher.getResources();
@@ -77,18 +75,13 @@
                 R.drawable.ic_launcher_application, ITEM_APPLICATION));
         
         mItems.add(new ListItem(res, R.string.group_shortcuts,
-                R.drawable.ic_launcher_empty, ITEM_SHORTCUT));
-        
-        if (false) {
-            mItems.add(new ListItem(res, R.string.group_search,
-                    R.drawable.ic_search_widget, ITEM_SEARCH));
-        }
-        
+                R.drawable.ic_launcher_shortcut, ITEM_SHORTCUT));
+
         mItems.add(new ListItem(res, R.string.group_widgets,
                 R.drawable.ic_launcher_appwidget, ITEM_APPWIDGET));
         
         mItems.add(new ListItem(res, R.string.group_live_folders,
-                R.drawable.ic_launcher_empty, ITEM_LIVE_FOLDER));
+                R.drawable.ic_launcher_folder_live, ITEM_LIVE_FOLDER));
         
         mItems.add(new ListItem(res, R.string.group_folder,
                 R.drawable.ic_launcher_folder, ITEM_FOLDER));
