diff --git a/lib/models/ConsultationBlock.php b/lib/models/ConsultationBlock.php
index 4104ad8ca4f5cb7215086cfdda7549729a16351d..7ae2bfe46abc34c9c646bd717d14fca028d5110c 100644
--- a/lib/models/ConsultationBlock.php
+++ b/lib/models/ConsultationBlock.php
@@ -24,7 +24,7 @@
  * @property bool has_bookings computed column
  * @property Range range computed column
  * @property SimpleORMapCollection slots has_many ConsultationSlot
- * @property ConsultationResponsibility[] responsibilities has_many ConsultationResponsibility
+ * @property ConsultationResponsibility[]|SimpleCollection responsibilities has_many ConsultationResponsibility
  * @property User[] responsible_persons
  */
 class ConsultationBlock extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/ConsultationEvent.php b/lib/models/ConsultationEvent.php
index d02e2d8a0b041219c25eab8fb7a224b5f90bfce7..afc69805ffd52bb1f72d202dfb652a567f24591b 100644
--- a/lib/models/ConsultationEvent.php
+++ b/lib/models/ConsultationEvent.php
@@ -22,7 +22,7 @@ class ConsultationEvent extends SimpleORMap
             'class_name'  => ConsultationSlot::class,
             'foreign_key' => 'slot_id',
         ];
-        $config['belongs_to']['event'] = [
+        $config['has_one']['event'] = [
             'class_name'        => EventData::class,
             'foreign_key'       => 'event_id',
             'assoc_foreign_key' => 'event_id',
diff --git a/lib/models/ConsultationSlot.php b/lib/models/ConsultationSlot.php
index aac384c66771ec6b39c2a6f365609c9807bcc431..217631128dc14b960b1359088e55e4cf421dee87 100644
--- a/lib/models/ConsultationSlot.php
+++ b/lib/models/ConsultationSlot.php
@@ -193,6 +193,10 @@ class ConsultationSlot extends SimpleORMap
      */
     public function updateEvents()
     {
+        if ($this->isNew()) {
+            return;
+        }
+
         // If no range is associated, remove the event
         if (!$this->block->range) {
             $this->events->delete();