diff --git a/includes/simplenews.source.inc b/includes/simplenews.source.inc
index a5f5038..9575983 100644
--- a/includes/simplenews.source.inc
+++ b/includes/simplenews.source.inc
@@ -458,8 +458,8 @@ class SimplenewsSourceNode implements SimplenewsSourceNodeInterface {
 
     // If receipt is requested, add headers.
     if ($this->category->receipt) {
-      $headers['Disposition-Notification-To'] = $from;
-      $headers['X-Confirm-Reading-To'] = $from;
+      $headers['Disposition-Notification-To'] = $this->getFromAddress();
+      $headers['X-Confirm-Reading-To'] = $this->getFromAddress();
     }
 
     // Add priority if set.
diff --git a/tests/simplenews.test b/tests/simplenews.test
index 8757157..6a636cb 100644
--- a/tests/simplenews.test
+++ b/tests/simplenews.test
@@ -2357,6 +2357,8 @@ class SimplenewsSourceTestCase extends SimplenewsTestCase {
       // @todo: This shouldn't be necessary, default value is missing. Probably
       // should not be required.
       'from_address' => $this->randomEmail(),
+      // Request a confirmation receipt.
+      'receipt' => TRUE,
     );
     $this->drupalPost(NULL, $edit_category, t('Save'));
 
@@ -2401,6 +2403,10 @@ class SimplenewsSourceTestCase extends SimplenewsTestCase {
       // @todo: Improve this check, there are currently two spaces, not sure
       // where they are coming from.
       $this->assertTrue(strpos($mail['body'], 'class="newsletter-footer"'));
+
+      // Verify receipt headers.
+      $this->assertEqual($mail['headers']['Disposition-Notification-To'], $edit_category['from_address']);
+      $this->assertEqual($mail['headers']['X-Confirm-Reading-To'], $edit_category['from_address']);
     }
   }
 
