diff --git a/src/main/java/org/olat/course/nodes/st/assessment/STRootPassedEvaluator.java b/src/main/java/org/olat/course/nodes/st/assessment/STRootPassedEvaluator.java
index 86d2135efdfec82383044fb491daeb1df58262ad..652553ffcd23cdd2e75d72ab72769ad27396605c 100644
--- a/src/main/java/org/olat/course/nodes/st/assessment/STRootPassedEvaluator.java
+++ b/src/main/java/org/olat/course/nodes/st/assessment/STRootPassedEvaluator.java
@@ -21,6 +21,10 @@ package org.olat.course.nodes.st.assessment;
 
 import java.util.Date;
 
+import org.apache.logging.log4j.Logger;
+import org.hibernate.LazyInitializationException;
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.logging.Tracing;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.STCourseNode;
 import org.olat.course.nodes.st.assessment.PassCounter.Counts;
@@ -28,7 +32,10 @@ import org.olat.course.run.scoring.AssessmentEvaluation;
 import org.olat.course.run.scoring.RootPassedEvaluator;
 import org.olat.course.run.scoring.ScoreAccounting;
 import org.olat.modules.ModuleConfiguration;
+import org.olat.modules.card2brain.manager.Card2BrainManagerImpl;
 import org.olat.repository.RepositoryEntry;
+import org.olat.repository.RepositoryService;
+import org.olat.repository.model.RepositoryEntryLifecycle;
 
 /**
  * 
@@ -37,6 +44,8 @@ import org.olat.repository.RepositoryEntry;
  *
  */
 public class STRootPassedEvaluator implements RootPassedEvaluator {
+
+	private static final Logger log = Tracing.createLoggerFor(Card2BrainManagerImpl.class);
 	
 	private final PassCounter passCounter;
 	
@@ -111,8 +120,9 @@ public class STRootPassedEvaluator implements RootPassedEvaluator {
 				}
 			
 				// Failed if course end date is over
-				if (courseEntry != null && courseEntry.getLifecycle() != null && courseEntry.getLifecycle().getValidTo() != null) {
-					Date validTo = courseEntry.getLifecycle().getValidTo();
+				RepositoryEntryLifecycle lifecycle = getLifecycle(courseEntry);
+				if (lifecycle != null && lifecycle.getValidTo() != null) {
+					Date validTo = lifecycle.getValidTo();
 					if (validTo.before(new Date())) {
 						return Boolean.FALSE;
 					}
@@ -139,5 +149,23 @@ public class STRootPassedEvaluator implements RootPassedEvaluator {
 		}
 		return active;
 	}
+	
+	private RepositoryEntryLifecycle getLifecycle(RepositoryEntry courseEntry) {
+		RepositoryEntryLifecycle lifecycle = null;
+		
+		if (courseEntry != null) {
+			try {
+				lifecycle = courseEntry.getLifecycle();
+			} catch (LazyInitializationException lie) {
+				RepositoryService repositoryService = CoreSpringFactory.getImpl(RepositoryService.class);
+				RepositoryEntry repositoryEntry = repositoryService.loadByKey(courseEntry.getKey());
+				lifecycle = repositoryEntry.getLifecycle();
+			} catch (Exception e) {
+				log.error("", e);
+			}
+		}
+		
+		return lifecycle;
+	}
 
 }