diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
index b680a15..87fa6f3 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java
@@ -31,6 +31,7 @@
 import com.android.launcher3.util.SplitConfigurationOptions;
 import com.android.quickstep.views.RecentsView;
 import com.android.quickstep.views.TaskView;
+import com.android.quickstep.views.TaskView.TaskIdAttributeContainer;
 import com.android.systemui.shared.recents.model.Task;
 
 import java.io.PrintWriter;
@@ -202,12 +203,16 @@
                         // null checks as much. See comments at ag/21152798.
                         if (foundTaskView != null) {
                             // There is already a running app of this type, use that as second app.
+                            // Get index of task (0 or 1), in case it's a GroupedTaskView
+                            int indexOfTask = foundTaskView.getIndexOfTask(foundTask.key.id);
+                            TaskIdAttributeContainer taskAttributes =
+                                    foundTaskView.getTaskIdAttributeContainers()[indexOfTask];
                             recents.confirmSplitSelect(
                                     foundTaskView,
-                                    foundTaskView.getTask(),
-                                    foundTaskView.getIconView().getDrawable(),
-                                    foundTaskView.getThumbnail(),
-                                    foundTaskView.getThumbnail().getThumbnail(),
+                                    taskAttributes.getTask(),
+                                    taskAttributes.getIconView().getDrawable(),
+                                    taskAttributes.getThumbnailView(),
+                                    taskAttributes.getThumbnailView().getThumbnail(),
                                     null /* intent */);
                             return;
                         }
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java
index aa37fdd..b23c873 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskView.java
@@ -600,6 +600,19 @@
         return mTaskIdContainer[1] != -1;
     }
 
+    /**
+     * Finds the index of a given taskId within this TaskView, or -1 if the TaskView does not
+     * contain it. For grouped tasks (of two), this is 0 or 1; for solo tasks, it is 0.
+     */
+    public int getIndexOfTask(int taskId) {
+        for (int i = 0; i < mTaskIdContainer.length; i++) {
+            if (mTaskIdContainer[i] == taskId) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
     public TaskThumbnailView getThumbnail() {
         return mSnapshotView;
     }
