diff --git a/src/lib/blocks.js b/src/lib/blocks.js index 601804c655da8531d06815584c0d44434f4b9309..eadf6d6fff6ec22e75f019178aef53e262bf4b9a 100644 --- a/src/lib/blocks.js +++ b/src/lib/blocks.js @@ -260,8 +260,12 @@ export default function (vm) { return stageOptions.concat(stageVariableMenuItems); } // Get all the local variables (no lists) and add them to the menu. - const spriteVariableOptions = - vm.runtime.getSpriteTargetByName(selectedItem).getAllVariableNamesInScopeByType('', true); + const target = vm.runtime.getSpriteTargetByName(selectedItem); + let spriteVariableOptions = []; + // The target should exist, but there are ways for it not to (e.g. #4203). + if (target) { + spriteVariableOptions = target.getAllVariableNamesInScopeByType('', true); + } const spriteVariableMenuItems = spriteVariableOptions.map(variable => [variable, variable]); return spriteOptions.concat(spriteVariableMenuItems); }