diff --git a/modules/recurring_events_registration/modules/recurring_events_reminders/recurring_events_reminders.module b/modules/recurring_events_registration/modules/recurring_events_reminders/recurring_events_reminders.module
index fe43ab0..9a6c9c4 100644
--- a/modules/recurring_events_registration/modules/recurring_events_reminders/recurring_events_reminders.module
+++ b/modules/recurring_events_registration/modules/recurring_events_reminders/recurring_events_reminders.module
@@ -62,29 +62,25 @@ function recurring_events_reminders_entity_base_field_info_alter(&$fields, Entit
 }
 
 /**
- * Implements hook_ENTITY_TYPE_insert().
+ * Implements hook_ENTITY_TYPE_update().
  *
- * Set the reminder date for all instances in this series.
+ * Set the reminder for event instances created.
  */
-function recurring_events_reminders_eventseries_insert(EntityInterface $entity) {
+function recurring_events_reminders_eventinstance_insert(EntityInterface $entity) {
   if (\Drupal::isConfigSyncing()) {
     return;
   }
-  if ($entity->registration_reminders->reminder) {
-    $amount = $entity->registration_reminders->reminder_amount;
-    $units = $entity->registration_reminders->reminder_units;
-    $instances = $entity->event_instances->referencedEntities();
-    if (!empty($instances)) {
-      foreach ($instances as $instance) {
-        $instance_date = $instance->date->start_date->getTimestamp();
-        $reminder_date = strtotime('-' . $amount . ' ' . $units, $instance_date);
-        $instance->set('reminder_date', $reminder_date);
-        $instance->setNewRevision(FALSE);
-        $instance->save();
-      }
-    }
+  // If reminders are enabled, set their reminder_date.
+  $event_series = $entity->getEventSeries();
+  if ($event_series->registration_reminders->reminder) {
+    $amount = $event_series->registration_reminders->reminder_amount;
+    $units = $event_series->registration_reminders->reminder_units;
+    $instance_date = $entity->date->start_date->getTimestamp();
+    $reminder_date = strtotime('-' . $amount . ' ' . $units, $instance_date);
+    $entity->set('reminder_date', $reminder_date);
+    $entity->setNewRevision(FALSE);
+    $entity->save();
   }
-
 }
 
 /**
@@ -94,12 +90,9 @@ function recurring_events_reminders_eventseries_insert(EntityInterface $entity)
  */
 function recurring_events_reminders_eventseries_update(EntityInterface $entity) {
   $original = $entity->original;
-  if ($entity->registration_reminders->reminder) {
-    $entity = $entity->load($entity->id());
 
-    if ($original->registration_reminders->reminder_amount !== $entity->registration_reminders->reminder_amount
-      || $original->registration_reminders->reminder_units !== $entity->registration_reminders->reminder_units
-    ) {
+  // If reminders are enabled, update the instances.
+  if ($entity->registration_reminders->reminder_amount) {
       $amount = $entity->registration_reminders->reminder_amount;
       $units = $entity->registration_reminders->reminder_units;
       $instances = $entity->event_instances->referencedEntities();
@@ -113,14 +106,15 @@ function recurring_events_reminders_eventseries_update(EntityInterface $entity)
           $instance->save();
         }
       }
-    }
+
   }
-  // If reminders have been disabled, then set the reminder_date to NULL.
-  elseif ($original->registration_reminders->reminder !== $entity->registration_reminders->reminder) {
+  // If reminders are disabled, unset reminder information.
+  else {
     $instances = $entity->event_instances->referencedEntities();
     if (!empty($instances)) {
       foreach ($instances as $instance) {
         $instance->set('reminder_date', NULL);
+        $instance->set('reminder_sent', NULL);
         $instance->setNewRevision(FALSE);
         $instance->save();
       }
