diff --git a/src/com/android/launcher3/popup/PopupDataProvider.java b/src/com/android/launcher3/popup/PopupDataProvider.java
index b101bc5..c1a9ba1 100644
--- a/src/com/android/launcher3/popup/PopupDataProvider.java
+++ b/src/com/android/launcher3/popup/PopupDataProvider.java
@@ -50,8 +50,8 @@
 
     /** Note that these are in order of priority. */
     public static final SystemShortcut[] SYSTEM_SHORTCUTS = new SystemShortcut[] {
-            new SystemShortcut.Widgets(),
             new SystemShortcut.AppInfo(),
+            new SystemShortcut.Widgets(),
     };
 
     private final Launcher mLauncher;
diff --git a/src/com/android/launcher3/popup/PopupPopulator.java b/src/com/android/launcher3/popup/PopupPopulator.java
index a9f219b..838b9b1 100644
--- a/src/com/android/launcher3/popup/PopupPopulator.java
+++ b/src/com/android/launcher3/popup/PopupPopulator.java
@@ -211,12 +211,17 @@
 
                 // This ensures that mLauncher.getWidgetsForPackageUser()
                 // doesn't return null (it puts all the widgets in memory).
-                launcher.notifyWidgetProvidersChanged(true /* force */);
                 for (int i = 0; i < PopupDataProvider.SYSTEM_SHORTCUTS.length; i++) {
                     final SystemShortcut systemShortcut = PopupDataProvider.SYSTEM_SHORTCUTS[i];
                     uiHandler.post(new UpdateSystemShortcutChild(container,
                             systemShortcutViews.get(i), systemShortcut, launcher, originalInfo));
                 }
+                uiHandler.post(new Runnable() {
+                    @Override
+                    public void run() {
+                        launcher.notifyWidgetProvidersChanged(true /* force */);
+                    }
+                });
             }
         };
     }
