diff --git a/src/main/java/org/olat/core/util/mail/_spring/mailContext.xml b/src/main/java/org/olat/core/util/mail/_spring/mailContext.xml
index 2d195bf8502234c9aa2edf359888021947ee73ee..09f121c39a80bc021d36b637e2d9a71457915042 100644
--- a/src/main/java/org/olat/core/util/mail/_spring/mailContext.xml
+++ b/src/main/java/org/olat/core/util/mail/_spring/mailContext.xml
@@ -54,7 +54,7 @@
 		<property name="order" value="780" />
 	</bean> 
 	
-	<bean id="mailManager" class="org.olat.core.util.mail.manager.MailManager">
+	<bean id="mailManager" class="org.olat.core.util.mail.manager.MailManager" init-method="init">
 		<constructor-arg index="0" ref="mailModule" />
 		<property name="dbInstance" ref="database"/>
 		<property name="notificationsManager" ref="org.olat.core.util.notifications.NotificationsManager"/>
diff --git a/src/main/java/org/olat/core/util/mail/manager/MailManager.java b/src/main/java/org/olat/core/util/mail/manager/MailManager.java
index be88d12fa6deafbe74a2eb2d2ac3ca18b3b0ddd6..3645e8945270e20f0f5ae20fbd92bd2caa9b8a9e 100644
--- a/src/main/java/org/olat/core/util/mail/manager/MailManager.java
+++ b/src/main/java/org/olat/core/util/mail/manager/MailManager.java
@@ -120,6 +120,15 @@ public class MailManager extends BasicManager {
 		this.notificationsManager = notificationsManager;
 	}
 	
+	/**
+	 * [used by Spring]
+	 */
+	public void init() {
+		PublisherData pdata = getPublisherData();
+		SubscriptionContext scontext = getSubscriptionContext();
+		notificationsManager.getOrCreatePublisher(scontext, pdata);
+	}
+	
 	public SubscriptionContext getSubscriptionContext() {
 		return new SubscriptionContext("Inbox", 0l, "");
 	}
diff --git a/src/main/java/org/olat/core/util/notifications/NotificationsManager.java b/src/main/java/org/olat/core/util/notifications/NotificationsManager.java
index 44a7a14e33b481bb5760740556efb94013d43b29..ac8431d59764d7151295a2985d45c1c0fb3f8349 100644
--- a/src/main/java/org/olat/core/util/notifications/NotificationsManager.java
+++ b/src/main/java/org/olat/core/util/notifications/NotificationsManager.java
@@ -97,11 +97,20 @@ public abstract class NotificationsManager extends BasicManager {
 	public abstract Subscriber getSubscriber(Long key);
 
 	/**
+	 * Get the publisher or return null if not exists
 	 * @param subsContext
 	 * @return the publisher belonging to the given context or null
 	 */
 	public abstract Publisher getPublisher(SubscriptionContext subsContext);
 	
+	/**
+	 * Get or create the publisher
+	 * @param scontext
+	 * @param pdata
+	 * @return
+	 */
+	public abstract Publisher getOrCreatePublisher(final SubscriptionContext scontext, final PublisherData pdata);
+	
 	public abstract List<Publisher> getAllPublisher();
 
 	/**
diff --git a/src/main/java/org/olat/notifications/NotificationsManagerImpl.java b/src/main/java/org/olat/notifications/NotificationsManagerImpl.java
index 70bb4acdfb5d625b9ff256fbecaf10514203e1c5..60a4655b86315436776330b0e5a111218b881b08 100644
--- a/src/main/java/org/olat/notifications/NotificationsManagerImpl.java
+++ b/src/main/java/org/olat/notifications/NotificationsManagerImpl.java
@@ -531,7 +531,7 @@ public class NotificationsManagerImpl extends NotificationsManager implements Us
 	 * @param pdata
 	 * @return the publisher
 	 */
-	private Publisher findOrCreatePublisher(final SubscriptionContext scontext, final PublisherData pdata) {
+	public Publisher getOrCreatePublisher(final SubscriptionContext scontext, final PublisherData pdata) {
 		final OLATResourceable ores = OresHelper.createOLATResourceableInstance(scontext.getResName() + "_" + scontext.getSubidentifier(),scontext.getResId());
 		//o_clusterOK by:cg
 		//fxdiff VCRP-16:prevent nested doInSync
@@ -758,7 +758,7 @@ public class NotificationsManagerImpl extends NotificationsManager implements Us
 	 */
 	public void subscribe(Identity identity, SubscriptionContext subscriptionContext, PublisherData publisherData) {
 		// no need to sync, since an identity only has one gui thread / one mouse
-		Publisher p = findOrCreatePublisher(subscriptionContext, publisherData);
+		Publisher p = getOrCreatePublisher(subscriptionContext, publisherData);
 		Subscriber s = getSubscriber(identity, p);
 		if (s == null) {
 			// no subscriber -> create.