diff --git a/apps/calendar/appinfo/app.php b/apps/calendar/appinfo/app.php
index f1f2a26d87d476205cf944935881757634038308..c9e0f14d7a584c54c12d741fc426f53e375cc61c 100644
--- a/apps/calendar/appinfo/app.php
+++ b/apps/calendar/appinfo/app.php
@@ -8,12 +8,17 @@ OC::$CLASSPATH['OC_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/connector_sabre
 OC::$CLASSPATH['OC_Calendar_Repeat'] = 'apps/calendar/lib/repeat.php';
 OC::$CLASSPATH['OC_Calendar_Share'] = 'apps/calendar/lib/share.php';
 OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
+//General Hooks
 OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
+//Repeating Events Hooks
 OCP\Util::connectHook('OC_Calendar', 'addEvent', 'OC_Calendar_Repeat', 'generate');
 OCP\Util::connectHook('OC_Calendar', 'editEvent', 'OC_Calendar_Repeat', 'update');
 OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Repeat', 'clean');
 OCP\Util::connectHook('OC_Calendar', 'moveEvent', 'OC_Calendar_Repeat', 'update');
 OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Repeat', 'cleanCalendar');
+//Sharing Hooks
+OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Share', 'post_eventdelete');
+OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Share', 'post_caldelete');
 OCP\Util::addscript('calendar','loader');
 OCP\Util::addscript("3rdparty", "chosen/chosen.jquery.min");
 OCP\Util::addStyle("3rdparty", "chosen/chosen");
diff --git a/apps/calendar/lib/share.php b/apps/calendar/lib/share.php
index 54c531892f05b3c095b83022a6619fbab2fc91fb..01502f1c6b069062f79d9bad1cc4a3a1c69a326e 100644
--- a/apps/calendar/lib/share.php
+++ b/apps/calendar/lib/share.php
@@ -258,7 +258,7 @@ class OC_Calendar_Share{
 		}
 
 		/*
-		 * @brief delete all shared calendars / events after a user was deleted
+		 * @brief deletes all shared calendars / events after a user was deleted
 		 * @param (string) $userid
 		 * @return (bool)
 		 */
@@ -273,4 +273,26 @@ class OC_Calendar_Share{
 			$stmt->execute(array($userid));
 			return true;
 		}
+		
+		/*
+		 * @brief deletes all shared events of a calendar
+		 * @param integer $calid
+		 * @return boolean
+		 */
+		public static function post_caldelete($calid){
+			$stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_calendar WHERE calendarid = ?');
+			$stmt->execute(array($calid));
+			return true;
+		}
+		
+		/*
+		 * @brief deletes all shares of an event
+		 * @param integer $eventid
+		 * @return boolean
+		 */
+		public static function post_eventdelete($eventid){
+			$stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_event WHERE eventid = ?');
+			$stmt->execute(array($eventid));
+			return true;
+		}
 }
\ No newline at end of file