diff --git a/src/main/java/org/olat/commons/info/notification/InfoSubscriptionManagerImpl.java b/src/main/java/org/olat/commons/info/notification/InfoSubscriptionManagerImpl.java
index 09947020f887306ecd7848a83f604840b4e71315..884fb6d3e4c8e52da8b6da3c99d9ce17aaa05cc9 100644
--- a/src/main/java/org/olat/commons/info/notification/InfoSubscriptionManagerImpl.java
+++ b/src/main/java/org/olat/commons/info/notification/InfoSubscriptionManagerImpl.java
@@ -73,7 +73,7 @@ public class InfoSubscriptionManagerImpl implements InfoSubscriptionManager {
 			return Collections.emptyList();
 		}
 		
-		return notificationsManager.getSubscriberIdentities(publisher);
+		return notificationsManager.getSubscriberIdentities(publisher, true);
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/core/commons/services/notifications/NotificationsManager.java b/src/main/java/org/olat/core/commons/services/notifications/NotificationsManager.java
index cfd75a6dde6654e5d953c260d27d81d50c8cc178..b119e002b38e6db07d129fa133e88771ea7dc983 100644
--- a/src/main/java/org/olat/core/commons/services/notifications/NotificationsManager.java
+++ b/src/main/java/org/olat/core/commons/services/notifications/NotificationsManager.java
@@ -154,9 +154,10 @@ public interface NotificationsManager {
 	 * Return identities of all enabled subscribers of the publisher.
 	 * 
 	 * @param publisher The publisher
+	 * @param enabledOnly true to exclude disabled subscriptions
 	 * @return A list of identities
 	 */
-	public List<Identity> getSubscriberIdentities(Publisher publisher);
+	public List<Identity> getSubscriberIdentities(Publisher publisher, boolean enabledOnly);
 
 	/**
 	 * sets the latest visited date of the subscription to 'now' .assumes the
diff --git a/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java b/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java
index 3aef0fc1473f3c1f7f38ff67ba8cc027d93088bb..5b57b6730b20dfdd52b0dc847b787546ec3328b2 100644
--- a/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java
+++ b/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java
@@ -834,9 +834,18 @@ public class NotificationsManagerImpl implements NotificationsManager, UserDataD
 	}
 	
 	@Override
-	public List<Identity> getSubscriberIdentities(Publisher publisher) {
+	public List<Identity> getSubscriberIdentities(Publisher publisher, boolean enabledOnly) {
+		StringBuilder sb = new StringBuilder(256);
+		sb.append("select ident from notisub sub")
+		  .append(" inner join sub.identity as ident")
+		  .append(" inner join ident.user as identUser")
+		  .append(" where sub.publisher=:publisher");
+		if(enabledOnly) {
+			sb.append(" and sub.enabled=true");
+		}
+		
 		return dbInstance.getCurrentEntityManager()
-				.createNamedQuery("identitySubscribersByPublisher", Identity.class)
+				.createQuery(sb.toString(), Identity.class)
 				.setParameter("publisher", publisher)
 				.getResultList();
 	}
diff --git a/src/main/java/org/olat/core/commons/services/notifications/model/SubscriberImpl.java b/src/main/java/org/olat/core/commons/services/notifications/model/SubscriberImpl.java
index 155f70cca5f06f16156cfa7f5dadbd8f043fdfea..8e97438a6ca67218d90c0108218e056ed77f5721 100644
--- a/src/main/java/org/olat/core/commons/services/notifications/model/SubscriberImpl.java
+++ b/src/main/java/org/olat/core/commons/services/notifications/model/SubscriberImpl.java
@@ -61,7 +61,6 @@ import org.olat.core.id.Persistable;
 @Table(name="o_noti_sub")
 @NamedQuery(name="subscribersByPublisher", query="select sub from notisub sub where sub.publisher=:publisher")
 @NamedQuery(name="subscribersByPublisherAndIdentity", query="select sub from notisub as sub where sub.publisher.key=:publisherKey and sub.identity.key=:identityKey")
-@NamedQuery(name="identitySubscribersByPublisher", query="select sub.identity from notisub sub where sub.publisher=:publisher")
 public class SubscriberImpl implements Subscriber, CreateInfo, Persistable  {
 	private static final long serialVersionUID = 6165097156137862263L;
 	
diff --git a/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java b/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java
index 3edc97afbe85dd8cfd3682108cb7dfbe591d71c5..63c8d462f432bc17700b4d05d1f8ce996bdbd7c4 100644
--- a/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java
+++ b/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java
@@ -324,8 +324,9 @@ public class NotificationsManagerTest extends OlatTestCase {
 	
 	@Test
 	public void testGetSubscriberIdentities() {
-		Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("valid1b-" + UUID.randomUUID().toString());
-		Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("valid1b-" + UUID.randomUUID().toString());
+		Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("valid1b1-");
+		Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("valid1b2-");
+		Identity id3 = JunitTestHelper.createAndPersistIdentityAsRndUser("disabled1b-");
 		//create a publisher
 		String identifier = UUID.randomUUID().toString().replace("-", "");
 		SubscriptionContext context = new SubscriptionContext("Subscribers", Long.valueOf(123), identifier);
@@ -335,14 +336,26 @@ public class NotificationsManagerTest extends OlatTestCase {
 		//add subscribers
 		notificationManager.subscribe(id1, context, publisherData);
 		notificationManager.subscribe(id2, context, publisherData);
+		notificationManager.subscribe(id3, context, publisherData);
 		dbInstance.commitAndCloseSession();
 		
-		//get identities
-		List<Identity> identities = notificationManager.getSubscriberIdentities(publisher);
+		notificationManager.unsubscribe(id3, context);
+		dbInstance.commitAndCloseSession();
+		
+		//get identities with enabled subscribers
+		List<Identity> identities = notificationManager.getSubscriberIdentities(publisher, true);
 		Assert.assertNotNull(identities);
 		Assert.assertEquals(2, identities.size());
 		Assert.assertTrue(identities.contains(id1));
 		Assert.assertTrue(identities.contains(id2));
+		
+		//get identities with enabled subscribers
+		List<Identity> allIdentities = notificationManager.getSubscriberIdentities(publisher, false);
+		Assert.assertNotNull(allIdentities);
+		Assert.assertEquals(3, allIdentities.size());
+		Assert.assertTrue(allIdentities.contains(id1));
+		Assert.assertTrue(allIdentities.contains(id2));
+		Assert.assertTrue(allIdentities.contains(id3));
 	}
 	
 	@Test
@@ -405,9 +418,9 @@ public class NotificationsManagerTest extends OlatTestCase {
 
 	@Test
 	public void testSubscriptions() {
-		Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("fi1-" + UUID.randomUUID().toString());
-		Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("fi2-" + UUID.randomUUID().toString());
-		Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("fi3-" + UUID.randomUUID().toString());
+		Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fi1-");
+		Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("fi2-");
+		Identity id3 = JunitTestHelper.createAndPersistIdentityAsRndUser("fi3-");
 
 		SubscriptionContext sc = new SubscriptionContext("Course", Long.valueOf(123), UUID.randomUUID().toString());
 		PublisherData pd = new PublisherData("Forum", "e.g. forumdata=keyofforum", null);