diff --git a/src/containers/stage.jsx b/src/containers/stage.jsx
index 79a41db7eac2e9093f5a4e79ae174a52a9db83c2..8e1ac9248396c3faa44f20b8eb50fe0e3066e888 100644
--- a/src/containers/stage.jsx
+++ b/src/containers/stage.jsx
@@ -342,29 +342,16 @@ class Stage extends React.Component {
     }
     onStartDrag (x, y) {
         if (this.state.dragId) return;
-
-        // Targets with no attached drawable cannot be dragged.
-        let draggableTargets = this.props.vm.runtime.targets.filter(
-            target => Number.isFinite(target.drawableID)
-        );
-
-        // Because pick queries can be expensive, only perform them for drawables that are currently draggable.
-        // If we're in the editor, we can drag all targets. Otherwise, filter.
-        if (!this.props.useEditorDragStyle) {
-            draggableTargets = draggableTargets.filter(
-                target => target.draggable
-            );
-        }
-        if (draggableTargets.length === 0) return;
-
-        const draggableIDs = draggableTargets.map(target => target.drawableID);
-        const drawableId = this.renderer.pick(x, y, 1, 1, draggableIDs);
+        const drawableId = this.renderer.pick(x, y);
         if (drawableId === null) return;
         const targetId = this.props.vm.getTargetIdForDrawableId(drawableId);
         if (targetId === null) return;
 
         const target = this.props.vm.runtime.getTargetById(targetId);
 
+        // Do not start drag unless in editor drag mode or target is draggable
+        if (!(this.props.useEditorDragStyle || target.draggable)) return;
+
         // Dragging always brings the target to the front
         target.goToFront();