diff --git a/app/code/core/Mage/Newsletter/Model/Subscriber.php b/app/code/core/Mage/Newsletter/Model/Subscriber.php index 3d08c29402e..32b9fd7c8d4 100644 --- a/app/code/core/Mage/Newsletter/Model/Subscriber.php +++ b/app/code/core/Mage/Newsletter/Model/Subscriber.php @@ -352,7 +352,13 @@ 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) {