Hello Mickaƫl! I found the problem and i want to propose a fix at the same time. It tournd out, that one VTIMEZONE-section of the VCALENDAR is NOT RFC-5545 compliant. This section contains an RRULE with both parameters "COUNT" and "UNTIL" set. RFC-5545 says, that both may occur but not at once. Thus, as you pointed me to the method Vcalendar.fixTimezoneToServer it was easy for me to add code which checks for the occurence of "COUNT" and "UNTIL" at once and which removes one of them - i choose "UNTIL" to be removed. You can find the fix below and in the attachment. It works for me - events are created at the exchange-side again. Though it is a fix for a buggy korganizer / libkf5calendarcore / libical / tzdata it is a good idea to include this validation code as it is always good to include code which checks for and (if possible) fixes potential errors. Index: src/java/davmail/exchange/VCalendar.java =================================================================== --- src/java/davmail/exchange/VCalendar.java (revision 2623) +++ src/java/davmail/exchange/VCalendar.java (working copy) @@ -356,6 +356,18 @@ } } } + + // validate and fix RRULE: COUNT and UNTIL may not occur at once + if (vTimezone != null && vTimezone.vObjects != null) { + for (VObject vObject : vTimezone.vObjects) { + VProperty rrule = vObject.getProperty("RRULE"); + if (rrule != null && rrule.hasParam("UNTIL") && rrule.hasParam("COUNT")) { + rrule.removeParam("UNTIL"); + } + } + } + // end validate and fix RRULE + // convert TZID to Exchange time zone id ResourceBundle tzBundle = ResourceBundle.getBundle("exchtimezones"); ResourceBundle tzidsBundle = ResourceBundle.getBundle("stdtimezones");