diff --git a/src/extensions/scratch3_boost/index.js b/src/extensions/scratch3_boost/index.js index ccd7f6d5f..51396482e 100644 --- a/src/extensions/scratch3_boost/index.js +++ b/src/extensions/scratch3_boost/index.js @@ -943,8 +943,9 @@ class Boost { const motor = this.motor(portID); if (motor) { motor._status = feedback; - if (feedback === (BoostPortFeedback.COMPLETED ^ BoostPortFeedback.IDLE) && - motor.pendingPromiseFunction) { + // Makes sure that commands resolve both when they actually complete and when they fail + const commandCompleted = feedback & (BoostPortFeedback.COMPLETED ^ BoostPortFeedback.DISCARDED); + if (commandCompleted && motor.pendingPromiseFunction) { motor.pendingPromiseFunction(); } }