diff --git a/packages/swingset-liveslots/src/virtualReferences.js b/packages/swingset-liveslots/src/virtualReferences.js index 71bdc328db47..8a3e46e6ce2e 100644 --- a/packages/swingset-liveslots/src/virtualReferences.js +++ b/packages/swingset-liveslots/src/virtualReferences.js @@ -290,7 +290,10 @@ export function makeVirtualReferenceManager( */ function isDurable(vref) { const { type, id, virtual, durable, allocatedByVat } = parseVatSlot(vref); - if (relaxDurabilityRules) { + if (type === 'promise') { + // promises are not durable even if `relaxDurabilityRules === true` + return false; + } else if (relaxDurabilityRules) { // we'll pretend an object is durable if running with relaxed rules return true; } else if (type === 'device') {