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 2c5b520af69dc622ca0679ec87e7c02bbf16abf6..b2c2e589c9cac93a3be8075008607987bd9624ae 100644
--- a/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java
+++ b/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java
@@ -513,7 +513,7 @@ public class CoursesWebService {
 		OLATResource originalOres = olatResourceManager.findResourceable(src.getOlatResource());
 		boolean isAlreadyLocked = handlerFactory.getRepositoryHandler(src).isLocked(originalOres);
 		LockResult lockResult = handlerFactory.getRepositoryHandler(src).acquireLock(originalOres, ureq.getIdentity());
-
+		
 		if(lockResult == null || (lockResult != null && lockResult.isSuccess()) && !isAlreadyLocked) {
 			//create new repo entry
 			String name;
@@ -601,6 +601,8 @@ public class CoursesWebService {
 			repositoryManager.copyImage(src, preparedEntry);
 			ICourse course = prepareCourse(preparedEntry, shortTitle, longTitle, courseConfigVO);
 			handlerFactory.getRepositoryHandler(src).releaseLock(lockResult);
+			
+			log.info(Tracing.M_AUDIT, "Create course {} from template {}", preparedEntry, src);
 			return course;
 		} else {
 			log.info("Course locked");
@@ -672,6 +674,7 @@ public class CoursesWebService {
 					? NodeAccessType.of(nodeAccessType)
 					: course.getCourseConfig().getNodeAccessType(); // default type
 			CourseFactory.initNodeAccessType(addedEntry, type);
+			log.info(Tracing.M_AUDIT, "Create course: {}", addedEntry);
 			return prepareCourse(addedEntry, shortTitle, longTitle, courseConfigVO);
 		} catch (Exception e) {
 			throw new WebApplicationException(e);