diff --git a/src/main/java/org/olat/search/service/indexer/AbstractHierarchicalIndexer.java b/src/main/java/org/olat/search/service/indexer/AbstractHierarchicalIndexer.java
index 0745a6c2704c59a7c4bc6de6d3224cb68a06e985..af9196af1a4a3b455b442fd062c90d14d840ce63 100644
--- a/src/main/java/org/olat/search/service/indexer/AbstractHierarchicalIndexer.java
+++ b/src/main/java/org/olat/search/service/indexer/AbstractHierarchicalIndexer.java
@@ -65,6 +65,15 @@ public abstract class AbstractHierarchicalIndexer extends DefaultIndexer {
 				throw new StartupException("Configured indexer is not of type Indexer", cce);
 		}
 	}
+	
+	public void addIndexer(Indexer indexer) {
+		try {
+			childIndexers.put(indexer.getSupportedTypeName(), indexer);
+			logDebug("Adding indexer from configuraton. TypeName=" + indexer.getSupportedTypeName());
+		}	catch (ClassCastException cce) {
+				throw new StartupException("Configured indexer is not of type Indexer", cce);
+		}
+	}
 
 	/**
 	 * Iterate over all child indexer define in indexer-list.