diff --git a/src/com/android/wallpaper/model/PartnerWallpaperInfo.java b/src/com/android/wallpaper/model/PartnerWallpaperInfo.java
index 2f71ca4..285a84b 100755
--- a/src/com/android/wallpaper/model/PartnerWallpaperInfo.java
+++ b/src/com/android/wallpaper/model/PartnerWallpaperInfo.java
@@ -133,11 +133,8 @@
 
     @Override
     public Asset getThumbAsset(Context context) {
-        if (mThumbAsset == null) {
-            Resources partnerRes = getPartnerResources(context);
-            mThumbAsset = new ResourceAsset(partnerRes, mThumbRes);
-        }
-        return mThumbAsset;
+        // Same asset as full size.
+        return getAsset(context);
     }
 
     @Override
diff --git a/src/com/android/wallpaper/module/DefaultCategoryProvider.java b/src/com/android/wallpaper/module/DefaultCategoryProvider.java
index 6ba9f6a..e2f0530 100755
--- a/src/com/android/wallpaper/module/DefaultCategoryProvider.java
+++ b/src/com/android/wallpaper/module/DefaultCategoryProvider.java
@@ -302,7 +302,6 @@
                                         Xml.asAttributeSet(parser));
                         categoryBuilder.setPriorityIfEmpty(PRIORITY_SYSTEM + priorityTracker++);
                         final int categoryDepth = parser.getDepth();
-                        boolean publishedPlaceholder = false;
                         while (((type = parser.next()) != XmlPullParser.END_TAG
                                 || parser.getDepth() > categoryDepth)
                                 && type != XmlPullParser.END_DOCUMENT) {
@@ -320,11 +319,6 @@
                                 }
                                 if (wallpaper != null) {
                                     categoryBuilder.addWallpaper(wallpaper);
-                                    // Publish progress only if there's at least one wallpaper
-                                    if (!publishedPlaceholder) {
-                                        publishProgress(categoryBuilder.buildPlaceholder());
-                                        publishedPlaceholder = true;
-                                    }
                                 }
                             }
                         }
