diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java index 7a7171daba..05ba9061cc 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java @@ -409,7 +409,7 @@ public class HoldServiceImpl extends ServiceBaseImpl * @see org.alfresco.module.org_alfresco_module_rm.hold.HoldService#deleteHold(org.alfresco.service.cmr.repository.NodeRef) */ @Override - public void deleteHold(NodeRef hold) + public void deleteHold(final NodeRef hold) { ParameterCheck.mandatory("hold", hold); @@ -418,7 +418,15 @@ public class HoldServiceImpl extends ServiceBaseImpl throw new AlfrescoRuntimeException("Can't delete hold, becuase passed node is not a hold. (hold=" + hold.toString() + ")"); } - List held = getHeld(hold); + List held = AuthenticationUtil.runAsSystem(new RunAsWork>() + { + @Override + public List doWork() + { + return getHeld(hold); + } + }); + List heldNames = new ArrayList(); for (NodeRef nodeRef : held) {