diff --git a/src/main/java/org/olat/modules/qpool/QPoolService.java b/src/main/java/org/olat/modules/qpool/QPoolService.java
index 5d9e52fadddecf82991caf76378fecc02b64a19b..1d1a150d22c887b060a6fc83e865a0f90a79c256 100644
--- a/src/main/java/org/olat/modules/qpool/QPoolService.java
+++ b/src/main/java/org/olat/modules/qpool/QPoolService.java
@@ -135,7 +135,7 @@ public interface QPoolService {
 	public ResultInfos<QuestionItemView> getSharedItemByResource(OLATResource resource, SearchQuestionItemParams params, int firstResult, int maxResults, SortKey... orderBy);
 	
 	public List<QuestionItem2Resource> getSharedResourceInfosByItem(QuestionItem item);
-	
+
 	//list
 	public QuestionItemCollection createCollection(Identity owner, String collectionName, List<QuestionItemShort> initialItems);
 	
@@ -153,6 +153,11 @@ public interface QPoolService {
 	
 	public ResultInfos<QuestionItemView> getItemsOfCollection(QuestionItemCollection collection, SearchQuestionItemParams params, int firstResult, int maxResults, SortKey... orderBy);
 
+	/**
+	 * Send the message to index this list of items.
+	 * @param items
+	 */
+	public void index(List<? extends QuestionItemShort> items);
 	
 	//study field admin
 	public List<TaxonomyLevel> getTaxonomyLevels();
diff --git a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java
index d1c14ce42a3fa0030a96c82a216f79c48b98593d..98bcd1eb3513222fb98779176cb95bce0501361e 100644
--- a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java
+++ b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java
@@ -187,7 +187,18 @@ public class QuestionPoolServiceImpl implements QPoolService {
 		lifeIndexer.indexDocument(QItemDocument.TYPE, mergedItem.getKey());
 		return mergedItem;
 	}
-	
+
+	@Override
+	public void index(List<? extends QuestionItemShort> items) {
+		if(items == null || items.isEmpty()) return;
+		
+		List<Long> keys = new ArrayList<>();
+		for(QuestionItemShort item:items) {
+			keys.add(item.getKey());
+		}
+		lifeIndexer.indexDocument(QItemDocument.TYPE, keys);
+	}
+
 	@Override
 	public List<QuestionItem> copyItems(Identity owner, List<QuestionItemShort> itemsToCopy) {
 		List<QuestionItem> copies = new ArrayList<QuestionItem>();
@@ -539,6 +550,7 @@ public class QuestionPoolServiceImpl implements QPoolService {
 		for(QuestionItemShort item:items) {
 			questionItemDao.share(item, resources, editable);
 		}
+		index(items);
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java
index 74c05528a8d2b778c13f93d18a847a4bfd5b358d..58b3f8b0fee54f853be81e2d4ef9008940166b9e 100644
--- a/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java
@@ -58,6 +58,7 @@ public class MarkedItemsSource extends DefaultItemsSource {
 			String businessPath = "[QuestionItem:" + item.getResourceableId() + "]";
 			markManager.setMark(item, identity, null, businessPath);
 		}
+		qpoolService.index(items);
 		return items.size();
 	}
 
diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java
index 3ff3be100729e838f5c838d2b6298c035ee13333..e1cbd076c94bf305750ba50df3040b52f0c020e0 100644
--- a/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java
@@ -45,6 +45,7 @@ public class MyItemsSource extends DefaultItemsSource {
 
 	@Override
 	public int postImport(List<QuestionItem> items, boolean editable) {
+		qpoolService.index(items);
 		return items == null ? 0 : items.size();
 	}