diff --git a/app/code/core/Mage/Newsletter/Model/Subscriber.php b/app/code/core/Mage/Newsletter/Model/Subscriber.php index 13b4e73685f..d0dceb92fd0 100644 --- a/app/code/core/Mage/Newsletter/Model/Subscriber.php +++ b/app/code/core/Mage/Newsletter/Model/Subscriber.php @@ -355,7 +355,14 @@ public function subscribe($email) $this->setSubscriberEmail($email); } elseif ($this->getStatus() == self::STATUS_SUBSCRIBED) { - Mage::throwException(Mage::helper('newsletter')->__('This email address is already registered.')); + // Allow resubscription if user is subscribing their own email + if (!$isSubscribeOwnEmail) { + Mage::throwException(Mage::helper('newsletter')->__('This email address is already registered.')); + } + + // User is resubscribing their own email that's already subscribed + // Return early to avoid unnecessary save() and duplicate confirmation emails + return $this->getStatus(); } if ($isSubscribeOwnEmail) {