diff --git a/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java b/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java
index 9cafe6d3110a74c588ea69485d45f938df5f594f..792c7a89977104b219275a04d016c92160b3e7f4 100644
--- a/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java
+++ b/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java
@@ -54,7 +54,6 @@ import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.persistence.DBFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.control.Controller;
-import org.olat.core.helpers.Settings;
 import org.olat.core.id.Identity;
 import org.olat.core.id.OLATResourceable;
 import org.olat.core.id.Roles;
@@ -199,13 +198,10 @@ public class CoursesWebService {
 	
 	@Path("{courseId}")
 	public CourseWebService getCourse(@PathParam("courseId") Long courseId) {
-		OLATResource ores = getCourseOLATResource(courseId);
-		if(ores == null) return null;
-		ICourse course = CourseFactory.loadCourse(courseId);
+		ICourse course = loadCourse(courseId);
 		if(course == null) return null;
-		CourseWebService courseWs = new CourseWebService(ores, course);
-		
-		return courseWs;
+		OLATResource ores = course.getCourseEnvironment().getCourseGroupManager().getCourseResource();
+		return new CourseWebService(ores, course);
 	}
 
 	/**
@@ -330,16 +326,6 @@ public class CoursesWebService {
 		return Response.ok(vo).build();
 	}
 	
-	private OLATResource getCourseOLATResource(Long courseId) {
-		String typeName = OresHelper.calculateTypeName(CourseModule.class);
-		OLATResource ores = OLATResourceManager.getInstance().findResourceable(courseId, typeName);
-		if(ores == null && Settings.isJUnitTest()) {
-			//hack for the BGContextManagerImpl which load the course
-			ores = OLATResourceManager.getInstance().findResourceable(courseId, "junitcourse");
-		}
-		return ores;
-	}
-	
 	public static boolean isCourseAccessible(ICourse course, boolean authorRightsMandatory, HttpServletRequest request) {
 		if(authorRightsMandatory && !isAuthor(request)) {
 			return false;
diff --git a/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java b/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java
index 8e571120d3526669074c0d8857a0891e41e5e22c..af2caf1f44c782ba8d0bcabd2dafa0146aa397db 100644
--- a/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java
+++ b/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java
@@ -56,15 +56,14 @@ import org.junit.Test;
 import org.olat.basesecurity.BaseSecurity;
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.id.Identity;
-import org.olat.core.id.OLATResourceable;
 import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
-import org.olat.core.util.resource.OresHelper;
+import org.olat.course.ICourse;
 import org.olat.group.BusinessGroup;
 import org.olat.group.BusinessGroupService;
 import org.olat.repository.RepositoryEntry;
-import org.olat.resource.OLATResource;
-import org.olat.resource.OLATResourceManager;
+import org.olat.repository.RepositoryManager;
+import org.olat.restapi.repository.course.CoursesWebService;
 import org.olat.restapi.support.vo.GroupVO;
 import org.olat.test.JunitTestHelper;
 import org.olat.test.OlatJerseyTestCase;
@@ -92,11 +91,13 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase {
 	private RestConnection conn;
 	
 	@Autowired
-	DB dbInstance;
+	private DB dbInstance;
 	@Autowired
 	private BusinessGroupService businessGroupService;
 	@Autowired
 	private BaseSecurity securityManager;
+	@Autowired
+	private RepositoryManager repositoryManager;
 	
 	
 	/**
@@ -113,15 +114,11 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase {
 		id1 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-1");
 		id2 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-2");
 		JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-3");
-		
-		OLATResourceManager rm = OLATResourceManager.getInstance();
-		// create course and persist as OLATResourceImpl
-		OLATResourceable resourceable = OresHelper.createOLATResourceableInstance("junitcourse",System.currentTimeMillis());
-		OLATResource r =  rm.createOLATResourceInstance(resourceable);
-		rm.saveOLATResource(r);
-		courseRepoEntry =  JunitTestHelper.createAndPersistRepositoryEntry(r, false);
-		dbInstance.saveObject(courseRepoEntry);
+		Identity auth = JunitTestHelper.createAndPersistIdentityAsUser("rest-course-grp-one");
+		ICourse course = CoursesWebService.createEmptyCourse(auth, "course for groups", "course with groups for REST API testing", null);
 		dbInstance.commitAndCloseSession();
+		courseRepoEntry = repositoryManager.lookupRepositoryEntry(course, true);
+
 		
     // create groups without waiting list
     g1 = businessGroupService.createBusinessGroup(null, "rest-g1", null, 0, 10, false, false, courseRepoEntry);