diff --git a/src/main/java/org/olat/core/util/DateUtils.java b/src/main/java/org/olat/core/util/DateUtils.java
index 7da4c0386ad19edabf8de95ada24cdb5c33e9060..0777af70b7ca226caea49f80a738684135a5b4ce 100644
--- a/src/main/java/org/olat/core/util/DateUtils.java
+++ b/src/main/java/org/olat/core/util/DateUtils.java
@@ -120,16 +120,10 @@ public class DateUtils {
 	 * @return
 	 */
 	public static Date copyTime(Date date, Date from) {
-		Calendar fromCalendar = new GregorianCalendar();
-		fromCalendar.setTime(from);
-		
-		Calendar toCalendar = new GregorianCalendar();
-		toCalendar.setTime(date);
-		toCalendar.set(Calendar.HOUR, fromCalendar.get(Calendar.HOUR));
-		toCalendar.set(Calendar.MINUTE, fromCalendar.get(Calendar.MINUTE));
-		toCalendar.set(Calendar.SECOND, fromCalendar.get(Calendar.SECOND));
-		
-		return toCalendar.getTime();
+		LocalDateTime ldtDate = toLocalDateTime(date);
+		LocalDateTime ldtfrom = toLocalDateTime(from);
+		LocalDateTime localDateTime = LocalDateTime.of(ldtDate.toLocalDate(), ldtfrom.toLocalTime());
+		return toDate(localDateTime);
 	}
 	
 	public static Date addDays(Date date, int days) {
diff --git a/src/main/java/org/olat/course/nodes/appointments/ui/RecurringAppointmentsController.java b/src/main/java/org/olat/course/nodes/appointments/ui/RecurringAppointmentsController.java
index 8fee5eb9fa53b5cb743a26c2ef4864342d1f3c3c..9cbc29eaf7f3ac0e1099b2826b0e1d504d9cbb0a 100644
--- a/src/main/java/org/olat/course/nodes/appointments/ui/RecurringAppointmentsController.java
+++ b/src/main/java/org/olat/course/nodes/appointments/ui/RecurringAppointmentsController.java
@@ -169,6 +169,10 @@ public class RecurringAppointmentsController extends FormBasicController {
 	private void doSaveReccuringAppointments() {
 		Date firstStart = recurringFirstEl.getDate();
 		Date firstEnd = recurringFirstEl.getSecondDate();
+
+		System.out.println(firstStart);
+		System.out.println(firstEnd);
+		
 		Date last = recurringLastEl.getDate();
 		last = DateUtils.setTime(last, 23, 59, 59);
 		
@@ -185,6 +189,9 @@ public class RecurringAppointmentsController extends FormBasicController {
 			Date end = DateUtils.copyTime(start, firstEnd);
 			appointment.setEnd(end);
 			
+			System.out.println(start);
+			System.out.println(end);
+			
 			String location = locationEl.getValue();
 			appointment.setLocation(location);
 			
diff --git a/src/main/java/org/olat/modules/lecture/ui/EditLectureBlockController.java b/src/main/java/org/olat/modules/lecture/ui/EditLectureBlockController.java
index b7e1471cfed3885c207ce0bbd59368981bac4c4f..aefbe7d9df71f723bfe2d83125652f40b82639ae 100644
--- a/src/main/java/org/olat/modules/lecture/ui/EditLectureBlockController.java
+++ b/src/main/java/org/olat/modules/lecture/ui/EditLectureBlockController.java
@@ -396,6 +396,8 @@ public class EditLectureBlockController extends FormBasicController {
 		}
 		lectureBlock.setStartDate(dateEl.getDate());
 		lectureBlock.setEndDate(dateEl.getSecondDate());
+		System.out.println(dateEl.getDate());
+		System.out.println(dateEl.getSecondDate());
 		
 		int plannedLectures = Integer.parseInt(plannedLecturesEl.getSelectedKey());
 		lectureBlock.setPlannedLecturesNumber(plannedLectures);
diff --git a/src/test/java/org/olat/core/util/DateUtilsTest.java b/src/test/java/org/olat/core/util/DateUtilsTest.java
index f0472676ae378ec5b6b7077b033cf01558594e9b..952e6408d35bbb8afbba91f23bc5dce536dbe57e 100644
--- a/src/test/java/org/olat/core/util/DateUtilsTest.java
+++ b/src/test/java/org/olat/core/util/DateUtilsTest.java
@@ -29,6 +29,7 @@ import java.util.EnumSet;
 import java.util.GregorianCalendar;
 import java.util.List;
 
+import org.assertj.core.api.SoftAssertions;
 import org.junit.Test;
 
 /**
@@ -50,12 +51,19 @@ public class DateUtilsTest {
 
 	@Test
 	public void shouldCopyTime() {
-		Date date = new GregorianCalendar(2020, 5, 1, 10, 0, 0).getTime();
-		Date from = new GregorianCalendar(2020, 8, 20, 8, 3, 2).getTime();
+		SoftAssertions softly = new SoftAssertions();
+		
+		softly.assertThat(DateUtils.copyTime(
+				new GregorianCalendar(2020, 5, 1, 10, 0, 0).getTime(),
+				new GregorianCalendar(2020, 8, 20, 8, 3, 2).getTime())
+			).isEqualTo(new GregorianCalendar(2020, 5, 1, 8, 3, 2).getTime());
 		
-		date = DateUtils.copyTime(date, from);
+		softly.assertThat(DateUtils.copyTime(
+				new GregorianCalendar(2020, 5, 1, 10, 0, 0).getTime(),
+				new GregorianCalendar(2020, 5, 1, 10, 0, 0).getTime())
+			).isEqualTo(new GregorianCalendar(2020, 5, 1, 10, 0, 0).getTime());
 		
-		assertThat(date).isEqualTo(new GregorianCalendar(2020, 5, 1, 8, 3, 2).getTime());
+		softly.assertAll();
 	}
 	
 	@Test