diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/StandbyGroupController.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/StandbyGroupController.java
index 8bf053b..0b8a03e 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/StandbyGroupController.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/StandbyGroupController.java
@@ -293,17 +293,19 @@
 				}
 
 				List<StandbyScheduleBody> lsScheduleBodies = new ArrayList<>();
-				if (DateHelper.isDateAfter(dto.getValidFrom(), savedUisg.getValidFrom())) {
+				if (DateHelper.isDateAfter(dto.getValidFrom(), savedUisg.getValidFrom())
+						|| DateHelper.isSameDate(dto.getValidFrom(), savedUisg.getValidFrom())) {
 					// check if user was planned in difference of time
 					lsScheduleBodies.addAll(standbyScheduleBodyRepository.findByUserAndGroupAndDateAndStatus(
-							savedUisg.getUser().getId(), standbyGroup.getId(), savedUisg.getValidFrom(),
-							dto.getValidFrom(), 1l));
+							savedUisg.getUser().getId(), standbyGroup.getId(),
+							DateHelper.getStartOfDay(savedUisg.getValidFrom()), dto.getValidFrom(), 1l));
 					lsScheduleBodies.addAll(standbyScheduleBodyRepository.findByUserAndGroupAndDateAndStatus(
-							savedUisg.getUser().getId(), standbyGroup.getId(), savedUisg.getValidFrom(),
-							dto.getValidFrom(), 2l));
+							savedUisg.getUser().getId(), standbyGroup.getId(),
+							DateHelper.getStartOfDay(savedUisg.getValidFrom()), dto.getValidFrom(), 2l));
 				}
 
-				if (DateHelper.isDateBefore(dto.getValidTo(), savedUisg.getValidTo())) {
+				if (DateHelper.isDateBefore(dto.getValidTo(), savedUisg.getValidTo())
+						|| DateHelper.isSameDate(dto.getValidTo(), savedUisg.getValidTo())) {
 					lsScheduleBodies.addAll(standbyScheduleBodyRepository.findByUserAndGroupAndDateAndStatus(
 							savedUisg.getUser().getId(), standbyGroup.getId(), dto.getValidTo(), savedUisg.getValidTo(),
 							1l));
@@ -850,7 +852,8 @@
 		List<UserSmallSelectionDto> listDto = new ArrayList<>();
 
 		try {
-//			List<User> listEntity = userInStandbyGroupRepository.findUniqueById(standbyGroupId);
+			// List<User> listEntity =
+			// userInStandbyGroupRepository.findUniqueById(standbyGroupId);
 			List<Object[]> listEntity = userInStandbyGroupRepository.findUniqueGroupUser(standbyGroupId);
 
 			for (Object[] obj : listEntity) {
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/msg/ValidationMsgController.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/msg/ValidationMsgController.java
index 1c0f633..c37bc48 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/msg/ValidationMsgController.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/controller/msg/ValidationMsgController.java
@@ -150,7 +150,7 @@
 		User usr = body.getUser();
 		String warning = TEXT_VALIDATION + "[" + body.getStandbyGroup().getTitle() + "] "
 				+ SpMsg.getLbl(TEXT_STANDBY_USER_CHANGE, usr.getFirstname() + " " + usr.getLastname())
-				+ "  war in der Gruppe (" + body.getStandbyGroup().getTitle() + ") im Zeitraum vom ("
+				+ "  ist in der Gruppe (" + body.getStandbyGroup().getTitle() + ") im Zeitraum vom ("
 				+ body.getValidFrom() + ") bis zum (" + body.getValidTo() + ") in der " + body.getStatus().getTitle()
 				+ " verplant.";
 		PlanningMsgDto dto = new PlanningMsgDto(warning, PlanningMsgDto.WARN, PlanningMsgDto.CSS_WARN);
