diff --git a/Android.mk b/Android.mk
index 844f052..980d0e2 100644
--- a/Android.mk
+++ b/Android.mk
@@ -35,6 +35,6 @@
 
 include $(BUILD_PACKAGE)
 
-include $(call all-subdir-makefiles)
+include $(call all-makefiles-under,$(LOCAL_PATH))
 
 endif
diff --git a/res/drawable-hdpi/ic_launcher_folder.png b/res/drawable-hdpi/ic_launcher_folder.png
deleted file mode 100644
index dd71327..0000000
--- a/res/drawable-hdpi/ic_launcher_folder.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_launcher_folder_open.png b/res/drawable-hdpi/ic_launcher_folder_open.png
deleted file mode 100644
index 5b3fcec..0000000
--- a/res/drawable-hdpi/ic_launcher_folder_open.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_launcher_shortcut.png b/res/drawable-hdpi/ic_launcher_shortcut.png
deleted file mode 100644
index 93ab2df..0000000
--- a/res/drawable-hdpi/ic_launcher_shortcut.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/trashcan.png b/res/drawable-hdpi/trashcan.png
deleted file mode 100644
index 89b23ee..0000000
--- a/res/drawable-hdpi/trashcan.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/trashcan_hover.png b/res/drawable-hdpi/trashcan_hover.png
deleted file mode 100644
index d156d46..0000000
--- a/res/drawable-hdpi/trashcan_hover.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/wallpaper_divider.png b/res/drawable-hdpi/wallpaper_divider.png
deleted file mode 100644
index 2f92d60..0000000
--- a/res/drawable-hdpi/wallpaper_divider.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-large-nodpi/customize_bg_gradient.png b/res/drawable-large-nodpi/customize_bg_gradient.png
deleted file mode 100644
index 89df7a9..0000000
--- a/res/drawable-large-nodpi/customize_bg_gradient.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher_folder.png b/res/drawable-mdpi/ic_launcher_folder.png
deleted file mode 100644
index 08b4aad..0000000
--- a/res/drawable-mdpi/ic_launcher_folder.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher_folder_open.png b/res/drawable-mdpi/ic_launcher_folder_open.png
deleted file mode 100644
index b7640cb..0000000
--- a/res/drawable-mdpi/ic_launcher_folder_open.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher_shortcut.png b/res/drawable-mdpi/ic_launcher_shortcut.png
deleted file mode 100644
index ba91360..0000000
--- a/res/drawable-mdpi/ic_launcher_shortcut.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/trashcan.png b/res/drawable-mdpi/trashcan.png
deleted file mode 100644
index f32bf27..0000000
--- a/res/drawable-mdpi/trashcan.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/trashcan_hover.png b/res/drawable-mdpi/trashcan_hover.png
deleted file mode 100644
index bffa33f..0000000
--- a/res/drawable-mdpi/trashcan_hover.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/wallpaper_divider.png b/res/drawable-mdpi/wallpaper_divider.png
deleted file mode 100644
index 1b453c5..0000000
--- a/res/drawable-mdpi/wallpaper_divider.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-nodpi/apps_customize_bg_gradient.9.png b/res/drawable-nodpi/apps_customize_bg_gradient.9.png
deleted file mode 100644
index e766bd6..0000000
--- a/res/drawable-nodpi/apps_customize_bg_gradient.9.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/apps_customize_widget.xml b/res/layout/apps_customize_widget.xml
index 53643b4..38973b5 100644
--- a/res/layout/apps_customize_widget.xml
+++ b/res/layout/apps_customize_widget.xml
@@ -38,9 +38,9 @@
         android:adjustViewBounds="true"
         android:scaleType="fitStart" />
 
-    <!-- The divider image. -->
+    <!-- The divider image.
+         This view is removed in PagedViewWidget.java in the Phone UI. -->
     <ImageView
-        style="WidgetDivider"
         android:id="@+id/divider"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
diff --git a/res/values-large/strings.xml b/res/values-large/strings.xml
index 97024fa..3fe8af0 100644
--- a/res/values-large/strings.xml
+++ b/res/values-large/strings.xml
@@ -33,7 +33,4 @@
     <string name="delete_target_uninstall_label">Uninstall</string>
     <!-- Label for the info icon. [CHAR_LIMIT=30] -->
     <string name="info_target_label">Manage</string>
-
-    <!-- Market button text [CHAR LIMIT=32] -->
-    <string name="market">Shop</string>
 </resources>
\ No newline at end of file
diff --git a/res/values-large/styles.xml b/res/values-large/styles.xml
index 9c1532a..7e19e89 100644
--- a/res/values-large/styles.xml
+++ b/res/values-large/styles.xml
@@ -42,10 +42,6 @@
         <item name="android:includeFontPadding">false</item>
     </style>
 
-    <style name="WidgetDivider">
-        <item name="android:visibility">visible</item>
-    </style>
-
     <style name="TabIndicator.Wide">
         <item name="android:paddingLeft">40dp</item>
         <item name="android:paddingRight">40dp</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b3c6000..0ad1a46 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -83,8 +83,9 @@
     <string name="all_apps_no_games">No games found.</string>
     <!-- Message to show when there are no downloaded apps [CHAR_LIMIT=50] -->
     <string name="all_apps_no_downloads">You have no downloaded applications.</string>
-    <!-- Market button text.  The market button has no text in the Phone UI. [CHAR LIMIT=32] -->
-    <string name="market"></string>
+    <!-- Market button text.  The market button text is removed in Launcher.java 
+         in the Phone UI. [CHAR LIMIT=32] -->
+    <string name="market">Shop</string>
 
     <!-- Customization Drawer -->
     <!-- The format string for the dimensions of a widget in the drawer -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 5c458b4..3c0ae8d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -68,10 +68,6 @@
         <item name="android:layout_marginRight">10dip</item>
     </style>
 
-    <style name="WidgetDivider">
-        <item name="android:visibility">gone</item>
-    </style>
-
     <style name="SearchDropTargetBar">
         <item name="android:orientation">horizontal</item>
     </style>
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 7d2c741..bda5591 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -2846,7 +2846,7 @@
     }
 
     /**
-     * Sets the app market icon (shown when all apps is visible on x-large screens)
+     * Sets the app market icon
      */
     private void updateAppMarketIcon() {
         final View marketButton = findViewById(R.id.market_button);
@@ -2859,6 +2859,11 @@
             sAppMarketIcon = updateTextButtonWithIconFromExternalActivity(
                     R.id.market_button, activityName, R.drawable.app_market_generic);
             marketButton.setVisibility(View.VISIBLE);
+            
+            // Remove the shop icon text in the Phone UI
+            if (!LauncherApplication.isScreenLarge()) {
+                ((TextView) marketButton).setText("");
+            }
         } else {
             // We should hide and disable the view so that we don't try and restore the visibility
             // of it when we swap between drag & normal states from IconDropTarget subclasses.
diff --git a/src/com/android/launcher2/PagedViewWidget.java b/src/com/android/launcher2/PagedViewWidget.java
index 6ddecf1..4061f19 100644
--- a/src/com/android/launcher2/PagedViewWidget.java
+++ b/src/com/android/launcher2/PagedViewWidget.java
@@ -193,6 +193,11 @@
         final TextView dims = (TextView) findViewById(R.id.widget_dims);
         dims.setText(String.format(mDimensionsFormatString, cellSpan[0], cellSpan[1]));
         dims.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
+        
+        // Hide the divider in the Phone UI.
+        if (!LauncherApplication.isScreenLarge()) {
+            findViewById(R.id.divider).setVisibility(View.GONE);
+        }
 
         if (createHolographicOutline) {
             mIconCache = cache;
@@ -215,6 +220,11 @@
             dims.setText(String.format(mDimensionsFormatString, 1, 1));
             dims.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
         }
+        
+        // Hide the divider in the Phone UI.
+        if (!LauncherApplication.isScreenLarge()) {
+            findViewById(R.id.divider).setVisibility(View.GONE);
+        }
 
         if (createHolographicOutline) {
             mIconCache = cache;
@@ -234,6 +244,11 @@
         TextView name = (TextView) findViewById(R.id.wallpaper_name);
         name.setText(info.loadLabel(packageManager));
         name.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
+        
+        // Hide the divider in the Phone UI.
+        if (!LauncherApplication.isScreenLarge()) {
+            findViewById(R.id.divider).setVisibility(View.GONE);
+        }
 
         if (createHolographicOutline) {
             mIconCache = cache;
diff --git a/tests/Android.mk b/tests/Android.mk
index 84e9559..e33169c 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -12,4 +12,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-include $(call all-subdir-makefiles)
+LOCAL_PATH := $(call my-dir)
+include $(call all-makefiles-under,$(LOCAL_PATH))
