--- simplenews.module
+++ simplenews.module
@@ -1905,38 +1905,43 @@
       $message ['headers']['List-Unsubscribe'] = '<' . token_replace('[simplenews-unsubscribe-url]', 'simplenews', $context) . '>';
 
       break;
-    case 'subscribe':
-      // Use formatted from address "name" <mail_address>
-      $message['headers']['From'] = $params['from']['formatted'];
-
-      $message['subject'] = _simplenews_subscription_confirmation_text('subscribe_subject', $langcode);
-      $message['subject'] = token_replace($message['subject'], 'simplenews_subscription', $context);
-
-      if (simplenews_user_is_subscribed($context['account']->mail, $context['newsletter']->tid)) {
-        $message['body'] = _simplenews_subscription_confirmation_text('subscribe_subscribed', $langcode);
-        $message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
-      }
-      else {
-        $message['body'] = _simplenews_subscription_confirmation_text('subscribe_unsubscribed', $langcode);
-        $message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
-      }
-      break;
-    case 'unsubscribe':
-      // Use formatted from address "name" <mail_address>
-      $message['headers']['From'] = $params['from']['formatted'];
-
-      $message['subject'] = _simplenews_subscription_confirmation_text('subscribe_subject', $langcode);
-      $message['subject'] = token_replace($message['subject'], 'simplenews_subscription', $context);
-
-      if (simplenews_user_is_subscribed($context['account']->mail, $context['newsletter']->tid)) {
-        $message['body'] = _simplenews_subscription_confirmation_text('unsubscribe_subscribed', $langcode);
-        $message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
-      }
-      else {
-        $message['body'] = _simplenews_subscription_confirmation_text('unsubscribe_unsubscribed', $langcode);
-        $message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
-      }
-      break;
+      
+      case 'subscribe':
+      	$tid = isset($params['context']['newsletter']->tid) ? $params['context']['newsletter']->tid : NULL;
+      	
+      	// Use formatted from address "name" <mail_address>
+      	$message['headers']['From'] = $params['from']['formatted'];
+      
+      	$message['subject'] = _simplenews_subscription_confirmation_text('subscribe_subject', $langcode, TRUE, $tid);
+      	$message['subject'] = token_replace($message['subject'], 'simplenews_subscription', $context);
+      
+      	if (simplenews_user_is_subscribed($context['account']->mail, $context['newsletter']->tid)) {
+      		$message['body'] = _simplenews_subscription_confirmation_text('subscribe_subscribed', $langcode, TRUE, $tid);
+      		$message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
+      	}
+      	else {
+      		$message['body'] = _simplenews_subscription_confirmation_text('subscribe_unsubscribed', $langcode, TRUE, $tid);
+      		$message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
+      	}
+      	break;
+      case 'unsubscribe':
+      	$tid = isset($params['context']['newsletter']->tid) ? $params['context']['newsletter']->tid : NULL;
+      	
+      	// Use formatted from address "name" <mail_address>
+      	$message['headers']['From'] = $params['from']['formatted'];
+      
+      	$message['subject'] = _simplenews_subscription_confirmation_text('subscribe_subject', $langcode, TRUE, $tid);
+      	$message['subject'] = token_replace($message['subject'], 'simplenews_subscription', $context);
+      
+      	if (simplenews_user_is_subscribed($context['account']->mail, $context['newsletter']->tid)) {
+      		$message['body'] = _simplenews_subscription_confirmation_text('unsubscribe_subscribed', $langcode, TRUE, $tid);
+      		$message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
+      	}
+      	else {
+      		$message['body'] = _simplenews_subscription_confirmation_text('unsubscribe_unsubscribed', $langcode, TRUE, $tid);
+      		$message['body'] = token_replace($message['body'], 'simplenews_subscription', $context);
+      	}
+      	break;
   }
 
   // Debug message to check for outgoing emails messages.
@@ -2274,8 +2279,9 @@
  *
  * @see simplenews_locale()
  */
-function _simplenews_subscription_confirmation_text($key, $langcode = NULL, $translate = TRUE) {
-  $text = variable_get('simplenews_confirm_'. $key, FALSE);
+function _simplenews_subscription_confirmation_text($key, $langcode = NULL, $translate = TRUE, $tid = NULL) {
+  if (isset($tid)) $tid = '_'.$tid;
+  $text = variable_get('simplenews_confirm_'. $key . $tid, FALSE);
   // If administrator did not change the text, the variable is empty.
   // We get the default here.
   if (!$text) {
