diff --git a/mailpoet/lib/Subscribers/SubscriberSaveController.php b/mailpoet/lib/Subscribers/SubscriberSaveController.php index 7113ef6d03..a646db2f05 100644 --- a/mailpoet/lib/Subscribers/SubscriberSaveController.php +++ b/mailpoet/lib/Subscribers/SubscriberSaveController.php @@ -229,8 +229,14 @@ class SubscriberSaveController { // wipe any unconfirmed data at this point $subscriber->setUnconfirmedData(null); - $this->subscribersRepository->persist($subscriber); - $this->subscribersRepository->flush(); + try { + $this->subscribersRepository->persist($subscriber); + $this->subscribersRepository->flush(); + } catch (ValidationException $exception) { + // detach invalid entity because it can block another work with doctrine + $this->subscribersRepository->detach($subscriber); + throw $exception; + } return $subscriber; }