diff --git a/src/com/android/launcher2/AllAppsList.java b/src/com/android/launcher2/AllAppsList.java
index 4d3ee77..561b345 100644
--- a/src/com/android/launcher2/AllAppsList.java
+++ b/src/com/android/launcher2/AllAppsList.java
@@ -152,7 +152,7 @@
                     data.add(applicationInfo);
                     added.add(applicationInfo);
                 } else {
-                    AppInfoCache.update(info, applicationInfo, context);
+                    AppInfoCache.update(info, applicationInfo, context, bubble);
                     modified.add(applicationInfo);
                 }
             }
diff --git a/src/com/android/launcher2/AppInfoCache.java b/src/com/android/launcher2/AppInfoCache.java
index 2fdfc28..a2d9830 100644
--- a/src/com/android/launcher2/AppInfoCache.java
+++ b/src/com/android/launcher2/AppInfoCache.java
@@ -86,9 +86,10 @@
     /**
      * Update the entry in the in the cache with its new metadata.
      */
-    public static void update(ResolveInfo info, ApplicationInfo applicationInfo, Context context) {
+    public static void update(ResolveInfo info, ApplicationInfo applicationInfo, Context context,
+            Utilities.BubbleText bubble) {
         synchronized (sCache) {
-            updateTitleAndIcon(info, applicationInfo, context, new Utilities.BubbleText(context));
+            updateTitleAndIcon(info, applicationInfo, context, bubble);
 
             ComponentName componentName = new ComponentName(
                     info.activityInfo.applicationInfo.packageName, info.activityInfo.name);
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 0e1ae7d..d2fd6a9 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -2222,6 +2222,7 @@
     public void bindPackageUpdated(String packageName, ArrayList<ApplicationInfo> apps) {
         removeDialog(DIALOG_CREATE_SHORTCUT);
         mWorkspace.updateShortcutsForPackage(packageName);
+        mAllAppsGrid.updateApps(packageName, apps);
     }
 
     /**
