Index: lams_common/src/java/org/lamsfoundation/lams/events/EventNotificationService.java =================================================================== diff -u -r5e319c889c9776238ecaf338e3b2d330b2186914 -r6588eb48d4acb2b8ce9dd74e76a7ddbaeab640a0 --- lams_common/src/java/org/lamsfoundation/lams/events/EventNotificationService.java (.../EventNotificationService.java) (revision 5e319c889c9776238ecaf338e3b2d330b2186914) +++ lams_common/src/java/org/lamsfoundation/lams/events/EventNotificationService.java (.../EventNotificationService.java) (revision 6588eb48d4acb2b8ce9dd74e76a7ddbaeab640a0) @@ -325,15 +325,17 @@ /** * See {@link IEventNotificationService#trigger(String, String, Long, String, String) */ - private void trigger(Event event, String subject, String message) { - final String subjectToSend = subject == null ? event.getSubject() : subject; - final String messageToSend = message == null ? event.getMessage() : message; + private void trigger(Event eventData, String subject, String message) { + final String subjectToSend = subject == null ? eventData.getSubject() : subject; + final String messageToSend = message == null ? eventData.getMessage() : message; // create a new thread to send the messages as it can take some time new Thread(() -> { try { HibernateSessionManager.openSession(); + // fetch the event again so it is associated with current session + Event event = (Event) eventDAO.find(Event.class, eventData.getUid()); Event eventFailCopy = null; Iterator subscriptionIterator = event.getSubscriptions().iterator(); while (subscriptionIterator.hasNext()) {