diff --git a/src/containers/stage.jsx b/src/containers/stage.jsx
index 3a61f5b174e82b897e2ad4294fc84ba8c9f0ee94..79a41db7eac2e9093f5a4e79ae174a52a9db83c2 100644
--- a/src/containers/stage.jsx
+++ b/src/containers/stage.jsx
@@ -343,11 +343,16 @@ class Stage extends React.Component {
     onStartDrag (x, y) {
         if (this.state.dragId) return;
 
-        // Because pick queries are expensive, only perform them for drawables that are currently draggable.
-        let draggableTargets = this.props.vm.runtime.targets;
+        // 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 => Number.isFinite(target.drawableID) && target.draggable
+                target => target.draggable
             );
         }
         if (draggableTargets.length === 0) return;