diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index f2e9658699..8b454fc8fd 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -254,13 +254,13 @@ public class BitstreamServiceImpl extends DSpaceObjectServiceImpl imp bundle.getBitstreams().remove(bitstream); } - // Remove policies - authorizeService.removeAllPolicies(context, bitstream); - // Remove bitstream itself bitstream.setDeleted(true); update(context, bitstream); + // Remove policies only after the bitstream has been updated (otherwise the current user has not WRITE rights) + authorizeService.removeAllPolicies(context, bitstream); + //Remove all bundles from the bitstream object, clearing the connection in 2 ways bundles.clear(); }