diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt b/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt
index f32e9bc..3ff461a 100644
--- a/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt
+++ b/quickstep/src/com/android/quickstep/util/SplitSelectDataHolder.kt
@@ -159,7 +159,7 @@
         secondUser = pendingIntent.creatorUserHandle
     }
 
-    private fun getShortcutInfo(intent: Intent?, user: UserHandle): ShortcutInfo? {
+    private fun getShortcutInfo(intent: Intent?, user: UserHandle?): ShortcutInfo? {
         val intentPackage = intent?.getPackage()
         if (intentPackage == null) {
             return null
@@ -167,8 +167,12 @@
         val shortcutId = intent.getStringExtra(ShortcutKey.EXTRA_SHORTCUT_ID)
                 ?: return null
         try {
-            val context: Context = context.createPackageContextAsUser(
-                    intentPackage, 0 /* flags */, user)
+            val context: Context =
+                if (user != null) {
+                    context.createPackageContextAsUser(intentPackage, 0 /* flags */, user)
+                } else {
+                    context.createPackageContext(intentPackage, 0 /* *flags */)
+                }
             return ShortcutInfo.Builder(context, shortcutId).build()
         } catch (e: PackageManager.NameNotFoundException) {
             Log.w(TAG, "Failed to create a ShortcutInfo for " + intent.getPackage())
