diff --git a/kronolith/docs/CHANGES b/kronolith/docs/CHANGES
index d78d7888f35..9073dd78044 100644
--- a/kronolith/docs/CHANGES
+++ b/kronolith/docs/CHANGES
@@ -2,6 +2,8 @@
v4.2.15-git
-----------
+[jan] Handle gracefully if the base event of an imported recurrence exception
+ is no longer recurring (Bug #14249).
-------
diff --git a/kronolith/lib/Event.php b/kronolith/lib/Event.php
index a460fbf8829..911bd93c6d4 100644
--- a/kronolith/lib/Event.php
+++ b/kronolith/lib/Event.php
@@ -1444,10 +1444,14 @@ protected function _handlevEventRecurrence($vEvent)
$this->uid = null;
try {
$originalEvent = $this->getDriver()->getByUID($this->baseid);
- $originalEvent->recurrence->addException($originaldt->format('Y'),
- $originaldt->format('m'),
- $originaldt->format('d'));
- $originalEvent->save();
+ if ($originalEvent->recurrence) {
+ $originalEvent->recurrence->addException(
+ $originaldt->format('Y'),
+ $originaldt->format('m'),
+ $originaldt->format('d')
+ );
+ $originalEvent->save();
+ }
} catch (Horde_Exception_NotFound $e) {
throw new Kronolith_Exception(_("Unable to locate original event series."));
}
diff --git a/kronolith/package.xml b/kronolith/package.xml
index 5216aa0942f..1f1c4e1cc32 100644
--- a/kronolith/package.xml
+++ b/kronolith/package.xml
@@ -33,7 +33,7 @@
GPL-2.0
-*
+* [jan] Handle gracefully if the base event of an imported recurrence exception is no longer recurring (Bug #14249).
@@ -2680,7 +2680,7 @@
2016-02-10
GPL-2.0
-*
+* [jan] Handle gracefully if the base event of an imported recurrence exception is no longer recurring (Bug #14249).