diff --git a/fhem/FHEM/57_Calendar.pm b/fhem/FHEM/57_Calendar.pm
index 9ae2d9735..03900883b 100644
--- a/fhem/FHEM/57_Calendar.pm
+++ b/fhem/FHEM/57_Calendar.pm
@@ -639,6 +639,7 @@ sub Calendar_CheckTimes($) {
   foreach $event (@endedevents) { $event->setMode("end"); }
 
   my @changedevents= grep { $_->modeChanged() } @allevents;
+
   
   my @upcoming= sort map { $_->uid() } @upcomingevents;
   my @alarm= sort map { $_->uid() } @alarmedevents;
@@ -649,7 +650,9 @@ sub Calendar_CheckTimes($) {
   my @ended= sort map { $_->uid() } grep { $_->modeChanged() } @endedevents;
   my @changed= sort map { $_->uid() } @changedevents;
   
-  readingsBeginUpdate($hash);
+  readingsBeginUpdate($hash); # clears all events in CHANGED, thus must be called first
+  # we create one fhem event for one changed calendar event
+  map { addEvent($hash, "changed: " . $_->uid() . " " . $_->mode() ); } @changedevents;
   readingsUpdate($hash, "lastCheck", $hash->{fhem}{lastCheck});
   readingsUpdate($hash, "modeUpcoming", join(";", @upcoming));
   readingsUpdate($hash, "modeAlarm", join(";", @alarm));
diff --git a/fhem/docs/commandref.html b/fhem/docs/commandref.html
index ed4446d7b..5e3a6770b 100644
--- a/fhem/docs/commandref.html
+++ b/fhem/docs/commandref.html
@@ -1507,6 +1507,11 @@ A line ending with \ will be concatenated with the next one, so long lines
   </table>
   </ul>
   <p>
+  
+  When a calendar event has changed, an event is created in the form
+  <code>changed: UID mode</code> with mode being the current mode the calendar event is in after the change.
+  
+  <p>
 
   <b>Usage scenarios</b>
   <ul>