diff --git a/src/main/java/org/olat/restapi/support/vo/CourseVO.java b/src/main/java/org/olat/restapi/support/vo/CourseVO.java
index ed0050883a98980f1979401d43a4c657878c73a9..6211c17bb30b5726c5071fedde6f089cb91d0953 100644
--- a/src/main/java/org/olat/restapi/support/vo/CourseVO.java
+++ b/src/main/java/org/olat/restapi/support/vo/CourseVO.java
@@ -239,4 +239,21 @@ public class CourseVO {
 	public void setLifecycle(RepositoryEntryLifecycleVO lifecycle) {
 		this.lifecycle = lifecycle;
 	}
+	
+	@Override
+	public int hashCode() {
+		return key == null ? 24348 : key.hashCode();
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if(obj == this) {
+			return true;
+		}
+		if(obj instanceof CourseVO) {
+			CourseVO course = (CourseVO)obj;
+			return key != null && key.equals(course.getKey());
+		}
+		return super.equals(obj);
+	}
 }
\ No newline at end of file