diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index 4561111..17c39fa 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -3332,9 +3332,11 @@
             for (ItemInfo itemInfo : sBgItemsIdMap) {
                 if (itemInfo.itemType == LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT) {
                     ShortcutInfo si = (ShortcutInfo) itemInfo;
-                    String shortcutId = si.getDeepShortcutId();
-                    if (idsToShortcuts.containsKey(shortcutId)) {
-                        idsToWorkspaceShortcutInfos.addToList(shortcutId, si);
+                    if (si.getIntent().getPackage().equals(mPackageName) && si.user.equals(mUser)) {
+                        String shortcutId = si.getDeepShortcutId();
+                        if (idsToShortcuts.containsKey(shortcutId)) {
+                            idsToWorkspaceShortcutInfos.addToList(shortcutId, si);
+                        }
                     }
                 }
             }
diff --git a/src/com/android/launcher3/ShortcutInfo.java b/src/com/android/launcher3/ShortcutInfo.java
index 0cc5a1b..c87bc08 100644
--- a/src/com/android/launcher3/ShortcutInfo.java
+++ b/src/com/android/launcher3/ShortcutInfo.java
@@ -28,7 +28,6 @@
 
 import com.android.launcher3.LauncherSettings.Favorites;
 import com.android.launcher3.compat.LauncherActivityInfoCompat;
-import com.android.launcher3.compat.LauncherAppsCompat;
 import com.android.launcher3.compat.UserHandleCompat;
 import com.android.launcher3.compat.UserManagerCompat;
 import com.android.launcher3.folder.FolderIcon;
