diff --git a/src/main/java/org/olat/course/nodes/cp/CPRunController.java b/src/main/java/org/olat/course/nodes/cp/CPRunController.java
index 160ec30744f82ffba46198838b2448a841e76172..ec0a89ed267f5081b30d14ed10319055fdebed69 100644
--- a/src/main/java/org/olat/course/nodes/cp/CPRunController.java
+++ b/src/main/java/org/olat/course/nodes/cp/CPRunController.java
@@ -205,7 +205,7 @@ public class CPRunController extends BasicController implements ControllerEventL
 			
 			cpAssessmentProvider = userCourseEnv.getIdentityEnvironment().getRoles().isGuestOnly()
 					? DryRunAssessmentProvider.create()
-					: PersistingAssessmentProvider.create(re, getIdentity());
+					: PersistingAssessmentProvider.create(re, getIdentity(), userCourseEnv.isParticipant());
 		}
 		// else cpRoot is already set (save some db access if the user opens /
 		// closes / reopens the cp from the same CPRuncontroller instance)
diff --git a/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java b/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java
index 2996dc554fbf0d67411cba883015d2b8b5f64b5b..8cfa79b7c0ae059a065aac6d78f1872fe66b6287 100644
--- a/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java
+++ b/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java
@@ -108,7 +108,7 @@ public class CPEditMainController extends BasicController implements ToolbarAwar
 			} else {
 				showInfo("contentcontroller.no.lock");
 				
-				CPAssessmentProvider cpAssessmentProvider = PersistingAssessmentProvider.create(cpEntry, getIdentity());
+				CPAssessmentProvider cpAssessmentProvider = PersistingAssessmentProvider.create(cpEntry, getIdentity(), false);
 				Controller cpCtr = CPUIFactory.getInstance()
 						.createMainLayoutController(ureq, wControl, cpContainer, true, deliveryOptions, cpAssessmentProvider);
 				putInitialPanel(cpCtr.getInitialComponent());
diff --git a/src/main/java/org/olat/modules/cp/CPAssessmentProvider.java b/src/main/java/org/olat/modules/cp/CPAssessmentProvider.java
index c8305fb35eb4a969efde3e336204ae6875754bdc..21d1404fa1b41cc36b3002391bf58b0e5857b5f9 100644
--- a/src/main/java/org/olat/modules/cp/CPAssessmentProvider.java
+++ b/src/main/java/org/olat/modules/cp/CPAssessmentProvider.java
@@ -29,6 +29,8 @@ import org.olat.modules.assessment.model.AssessmentEntryStatus;
  */
 public interface CPAssessmentProvider {
 	
+	boolean isLearningPathCSS();
+	
 	AssessmentEntryStatus onPageVisited(String itemIdentifier);
 
 	AssessmentEntryStatus getStatus(String itemIdentifier);
diff --git a/src/main/java/org/olat/modules/cp/CPDisplayController.java b/src/main/java/org/olat/modules/cp/CPDisplayController.java
index 2e1a8eb349060cdfa5b88894888f9a59761f5902..991ebd8bfd4155cff8f73bb9b2d7ac45d02bf9c5 100644
--- a/src/main/java/org/olat/modules/cp/CPDisplayController.java
+++ b/src/main/java/org/olat/modules/cp/CPDisplayController.java
@@ -498,8 +498,10 @@ public class CPDisplayController extends BasicController implements Activateable
 		UserObject userObject = (UserObject)treeNode.getUserObject();
 		String identifier = userObject.getIdentifier();
 		AssessmentEntryStatus status = cpAssessmentProvider.onPageVisited(identifier);
-		String cssClass = CPManifestTreeModel.getItemCssClass(status);
-		((GenericTreeNode)treeNode).setCssClass(cssClass);
+		if (cpAssessmentProvider.isLearningPathCSS()) {
+			String cssClass = CPManifestTreeModel.getItemCssClass(status);
+			((GenericTreeNode)treeNode).setCssClass(cssClass);
+		}
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/modules/cp/CPManifestTreeModel.java b/src/main/java/org/olat/modules/cp/CPManifestTreeModel.java
index e939daa7d058eb45e940931fa0094359072d3c1a..ce66b0bc41545dc1f586c3a09b0dee7138e9ba6c 100644
--- a/src/main/java/org/olat/modules/cp/CPManifestTreeModel.java
+++ b/src/main/java/org/olat/modules/cp/CPManifestTreeModel.java
@@ -212,7 +212,9 @@ public class CPManifestTreeModel extends GenericTreeModel {
 			}
 		} else if (item.getName().equals("item")) {
 			gtn.setIconCssClass("o_cp_item");
-			gtn.setCssClass(getItemCssClass(identifier));
+			if (cpAssessmentProvider.isLearningPathCSS()) {
+				gtn.setCssClass(getItemCssClass(identifier));
+			}
 			//set resolved file path directly
 			String identifierref = item.attributeValue("identifierref");
 			if(identifierref != null) {
diff --git a/src/main/java/org/olat/modules/cp/DryRunAssessmentProvider.java b/src/main/java/org/olat/modules/cp/DryRunAssessmentProvider.java
index 46eb53be33d31851aee827a2794f5855c7108a70..2513643c5e54de90ca9a875d1618c406fb9958b5 100644
--- a/src/main/java/org/olat/modules/cp/DryRunAssessmentProvider.java
+++ b/src/main/java/org/olat/modules/cp/DryRunAssessmentProvider.java
@@ -38,6 +38,11 @@ public class DryRunAssessmentProvider implements CPAssessmentProvider {
 	private DryRunAssessmentProvider() {
 		//
 	}
+
+	@Override
+	public boolean isLearningPathCSS() {
+		return false;
+	}
 	
 	@Override
 	public AssessmentEntryStatus onPageVisited(String itemIdentifier) {
diff --git a/src/main/java/org/olat/modules/cp/PersistingAssessmentProvider.java b/src/main/java/org/olat/modules/cp/PersistingAssessmentProvider.java
index af87aad28f7cea642fd84eac80484ea2ee8fe4e6..08fa9e87cce587c6a0026fc21b03bcbbfd8ec09a 100644
--- a/src/main/java/org/olat/modules/cp/PersistingAssessmentProvider.java
+++ b/src/main/java/org/olat/modules/cp/PersistingAssessmentProvider.java
@@ -39,24 +39,32 @@ public class PersistingAssessmentProvider implements CPAssessmentProvider {
 
 	private final Identity identity;
 	private final RepositoryEntry cpEntry;
+	private final boolean learningPathCSS;
 	
 	private Map<String, AssessmentEntryStatus> identifierToStatus;
 	
 	private AssessmentService assessmentService;
 	
-	public static final CPAssessmentProvider create(RepositoryEntry cpEntry, Identity identity) {
-		return new PersistingAssessmentProvider(cpEntry, identity);
+	public static final CPAssessmentProvider create(RepositoryEntry cpEntry, Identity identity,
+			boolean learningPathCSS) {
+		return new PersistingAssessmentProvider(cpEntry, identity, learningPathCSS);
 	}
 	
-	private PersistingAssessmentProvider(RepositoryEntry cpEntry, Identity identity) {
+	private PersistingAssessmentProvider(RepositoryEntry cpEntry, Identity identity, boolean learningPathCSS) {
 		this.identity = identity;
 		this.cpEntry = cpEntry;
+		this.learningPathCSS = learningPathCSS;
 		this.assessmentService = CoreSpringFactory.getImpl(AssessmentService.class);
 		this.identifierToStatus = assessmentService.loadAssessmentEntriesByAssessedIdentity(identity, cpEntry).stream()
 				.filter(ae -> ae.getSubIdent() != null && ae.getAssessmentStatus() != null)
 				.collect(Collectors.toMap(AssessmentEntry::getSubIdent, AssessmentEntry::getAssessmentStatus));
 	}
 
+	@Override
+	public boolean isLearningPathCSS() {
+		return learningPathCSS;
+	}
+
 	@Override
 	public AssessmentEntryStatus onPageVisited(String itemIdentifier) {
 		AssessmentEntry assessmentEntry = assessmentService.getOrCreateAssessmentEntry(identity, null, cpEntry, itemIdentifier, false, null);
diff --git a/src/main/java/org/olat/repository/handlers/ImsCPHandler.java b/src/main/java/org/olat/repository/handlers/ImsCPHandler.java
index 902fea30e09bbfbfd91af7f1addb0ee399d1a4bd..ae5e4e4ce3992961f9fdc4f40e4fa2e06438f84b 100644
--- a/src/main/java/org/olat/repository/handlers/ImsCPHandler.java
+++ b/src/main/java/org/olat/repository/handlers/ImsCPHandler.java
@@ -230,7 +230,7 @@ public class ImsCPHandler extends FileHandler {
 			CoreSpringFactory.getImpl(UserCourseInformationsManager.class)
 				.updateUserCourseInformations(entry.getOlatResource(), uureq.getIdentity());
 			
-			CPAssessmentProvider cpAssessmentProvider = PersistingAssessmentProvider.create(re, uureq.getIdentity());
+			CPAssessmentProvider cpAssessmentProvider = PersistingAssessmentProvider.create(re, uureq.getIdentity(), false);
 			CPDisplayController cpCtr = new CPDisplayController(uureq, wwControl, vfsWrapper, true, true, activateFirstPage, true, deliveryOptions,
 					initialUri, entry.getOlatResource(), "", false, cpAssessmentProvider);
 			LayoutMain3ColsController ctr = new LayoutMain3ColsController(uureq, wwControl, cpCtr.getMenuComponent(), cpCtr.getInitialComponent(), vfsWrapper.getName());