diff --git a/includes/simplenews.admin.inc b/includes/simplenews.admin.inc
index 62ab5be..09966d0 100644
--- a/includes/simplenews.admin.inc
+++ b/includes/simplenews.admin.inc
@@ -168,7 +168,7 @@ function simplenews_admin_issues() {
   $query->leftJoin('simplenews_category', 'sc', 'sn.tid = sc.tid');
   $query->leftJoin('taxonomy_term_data', 't', 'sc.tid = t.tid');
   //$query->leftJoin('users', 'u', 'ss.uid = u.uid');
-  $query->fields('n', array('nid', 'vid', 'title', 'created', 'status'))
+  $query->fields('n', array('nid', 'title', 'created', 'status'))
     ->fields('sn', array('tid'))
     ->fields('t', array('name'))
     ->limit(30)
diff --git a/includes/simplenews.mail.inc b/includes/simplenews.mail.inc
index 47f9998..b075c11 100644
--- a/includes/simplenews.mail.inc
+++ b/includes/simplenews.mail.inc
@@ -31,7 +31,6 @@ function simplenews_send_node($node, $accounts = array()) {
 
   if (is_object($node)) {
     $spool_data['nid'] = $node->nid;
-    $spool_data['vid'] = $node->vid;
     $spool_data['tid'] = $node->simplenews->tid;
 
     // Get accounts subscribed to this newsletter.
@@ -70,7 +69,6 @@ function simplenews_send_node($node, $accounts = array()) {
     $select->addField('s', 'snid');
     $select->addField('t', 'tid');
     $select->addExpression($spool_data['nid'], 'nid');
-    $select->addExpression($spool_data['vid'], 'vid');
     $select->addExpression(SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED, 'status');
     $select->addExpression(REQUEST_TIME, 'timestamp');
     $select->condition('t.tid', $spool_data['tid']);
@@ -85,7 +83,7 @@ function simplenews_send_node($node, $accounts = array()) {
     // in the spool. When cron is used newsletters are send to addresses in the
     // spool during the next (and following) cron run.
     if (variable_get('simplenews_use_cron', TRUE) == FALSE) {
-      simplenews_mail_spool($spool_data['nid'], $spool_data['vid'], 999999);
+      simplenews_mail_spool($spool_data['nid'], 999999);
       drupal_set_message(t('Newsletter sent.'));
       simplenews_clear_spool();
       simplenews_send_status_update();
@@ -129,7 +127,6 @@ function simplenews_send_test($node, $test_addresses) {
       if (!empty($mail)) {
         $message = new stdClass();
         $message->nid = $node->nid;
-        $message->vid = $node->vid;
         $message->tid = $node->simplenews->tid;
         $message->data = simplenews_get_subscription((object)array('mail' => $mail));
         $account = _simplenews_user_load($mail);
@@ -140,7 +137,6 @@ function simplenews_send_test($node, $test_addresses) {
         else {
           $recipients['anonymous'][] = $mail;
         }
-        //$tmpres = simplenews_mail_mail($node->nid, $node->vid, $mail, 'test');
         $tmpres = simplenews_mail_mail($message, 'test');
       }
     }
@@ -167,7 +163,6 @@ function simplenews_send_test($node, $test_addresses) {
  *   The mail message object as returned by simplenews_load_spool(), containing
  *   the following properties:
  *   - nid
- *   - vid
  *   - tid
  *   - data
  * @param $key
@@ -177,10 +172,8 @@ function simplenews_send_test($node, $test_addresses) {
  *   TRUE if the email was successfully delivered; otherwise FALSE.
  */
 function simplenews_mail_mail($msgbase, $key = 'node') {
-  $cache = &drupal_static(__FUNCTION__);
 
   $nid = $msgbase->nid;
-  $vid = $msgbase->vid;
   $tid = $msgbase->tid;
 
   $subscriber = $msgbase->data;
@@ -191,16 +184,7 @@ function simplenews_mail_mail($msgbase, $key = 'node') {
   $params['context']['account'] = $subscriber;
 
   // Get node data for the mail
-  // Because node_load() only caches the most recent node revision
-  // we cache here based  on nid and vid.
-  // @todo Investigate if this caching thing is still applicable to D7
-  if (isset($cache[$nid . ':' . $vid])) {
-    $node = $cache[$nid . ':' . $vid];
-  }
-  else {
-    $node = node_load($nid, $vid);
-    $cache[$nid . ':' . $vid] = $node;
-  }
+  $node = node_load($nid);
 
   if (is_object($node)) {
     $params['context']['node'] = $node;
@@ -257,7 +241,7 @@ function simplenews_mail_mail($msgbase, $key = 'node') {
       'status' => SIMPLENEWS_SPOOL_DONE,
       'error' => TRUE,
     );
-    watchdog('simplenews', 'Newsletter not send: newsletter issue does not exist (nid = @nid; vid = @vid).', array('@nid' => $nid, '@vid' => $vid), WATCHDOG_ERROR);
+    watchdog('simplenews', 'Newsletter not send: newsletter issue does not exist (nid = @nid).', array('@nid' => $nid), WATCHDOG_ERROR);
   }
 
   return isset($message['result']) ? $message['result'] : FALSE;
@@ -272,7 +256,7 @@ function simplenews_mail_mail($msgbase, $key = 'node') {
  * If sending is successful the message is marked as send in the spool.
  * @todo Replace time(): http://drupal.org/node/224333#time
  */
-function simplenews_mail_spool($nid = NULL, $vid = NULL, $limit = NULL) {
+function simplenews_mail_spool($nid = NULL, $limit = NULL) {
   $check_counter = 0;
 
   // Send pending messages from database cache
@@ -349,7 +333,6 @@ function simplenews_mail_spool($nid = NULL, $vid = NULL, $limit = NULL) {
  *   following keys:
  *   - mail
  *   - nid
- *   - vid
  *   - tid
  *   - status: (optional) Defaults to SIMPLENEWS_SPOOL_PENDING
  *   - time: (optional) Defaults to REQUEST_TIME.
@@ -362,7 +345,6 @@ function simplenews_save_spool($spool) {
     ->fields(array(
       'mail' => $spool['mail'],
       'nid' => $spool['nid'],
-      'vid' => $spool['vid'],
       'tid' => $spool['tid'],
       'snid' => $spool['snid'],
       'status' => $status,
@@ -501,15 +483,13 @@ function simplenews_update_spool($msids, $data) {
  *
  * @param integer $nid
  *   Newsletter node id.
- * @param integer $vid
- *   Newsletter revision id.
  * @param array $status
  *   Array of status flags.
  *
  * @return integer
  *   Count of mail spool elements which own the attributes passed in as params.
  */
-function simplenews_count_spool($nid, $vid, $status = array(SIMPLENEWS_SPOOL_PENDING, SIMPLENEWS_SPOOL_IN_PROGRESS)) {
+function simplenews_count_spool($nid, $status = array(SIMPLENEWS_SPOOL_PENDING, SIMPLENEWS_SPOOL_IN_PROGRESS)) {
   $clauses = array();
   $params = array();
 
@@ -523,7 +503,6 @@ function simplenews_count_spool($nid, $vid, $status = array(SIMPLENEWS_SPOOL_PEN
 
   $query = db_select('simplenews_mail_spool')
     ->condition('nid', $nid)
-    ->condition('vid', $vid)
     ->where(implode(' OR ', $clauses));
   return $query->countQuery()->execute()->fetchField();
 }
@@ -568,13 +547,12 @@ function simplenews_send_status_update() {
 
   // For each pending newsletter count the number of pending emails in the spool.
   $query = db_select('simplenews_newsletter', 's');
-  $query->innerJoin('node', 'n', 's.nid = n.nid AND s.vid = n.vid');
-  $query->fields('s', array('nid', 'vid', 'tid'))
+  $query->innerJoin('node', 'n', 's.nid = n.nid');
+  $query->fields('s', array('nid', 'tid'))
     ->fields('n', array('tnid'))
     ->condition('s.status', SIMPLENEWS_STATUS_SEND_PENDING);
   foreach ($query->execute() as $newsletter) {
-    // nid-vid are combined in one unique key.
-    $counts[$newsletter->tnid][$newsletter->nid . '-' . $newsletter->vid] = simplenews_count_spool($newsletter->nid, $newsletter->vid);
+    $counts[$newsletter->tnid][$newsletter->nid] = simplenews_count_spool($newsletter->nid);
   }
 
   // Determine which nodes are send per translation group and per individual node.
@@ -582,27 +560,23 @@ function simplenews_send_status_update() {
     // The sum of emails per tnid is the combined status result for the group of translated nodes.
     // Untranslated nodes have tnid == 0 which will be ignored later.
     $sum[$tnid] = array_sum($node_count);
-    foreach ($node_count as $nidvid => $count) {
+    foreach ($node_count as $nid => $count) {
       // Translated nodes (tnid != 0)
       if ($tnid != '0' && $sum[$tnid] == '0') {
-        $send[] = $nidvid;
+        $send[] = $nid;
       }
       // Untranslated nodes (tnid == 0)
       elseif ($tnid == '0' && $count == '0') {
-        $send[] = $nidvid;
+        $send[] = $nid;
       }
     }
   }
 
   // Update overall newsletter status
   if (!empty($send)) {
-    foreach ($send as $nidvid) {
-      // Split the combined key 'nid-vid'
-      $nid = strtok($nidvid, '-');
-      $vid = strtok('-');
+    foreach ($send as $nid) {
       db_update('simplenews_newsletter')
         ->condition('nid', $nid)
-        ->condition('vid', $vid)
         ->fields(array('status' => SIMPLENEWS_STATUS_SEND_READY))
         ->execute();
     }
diff --git a/includes/views/simplenews.views.inc b/includes/views/simplenews.views.inc
index a535444..8cdb730 100644
--- a/includes/views/simplenews.views.inc
+++ b/includes/views/simplenews.views.inc
@@ -86,25 +86,6 @@ function simplenews_views_data() {
     ),
   );
 
-  $data['simplenews_mail_spool']['vid'] = array(
-    'title' => t('Vid'),
-    'help' => t('The {node}.vid of this newsletter.'),
-    'field' => array(
-      'handler' => 'views_handler_field_numeric',
-      'click sortable' => TRUE,
-    ),
-    'filter' => array(
-      'handler' => 'views_handler_filter_numeric',
-      'allow empty' => TRUE,
-    ),
-    'argument' => array(
-      'handler' => 'views_handler_argument_numeric',
-    ),
-    'sort' => array(
-      'handler' => 'views_handler_sort',
-    ),
-  );
-
   $data['simplenews_mail_spool']['tid'] = array(
     'title' => t('Term ID'),
     'help' => t('The {term_data}.tid this newsletter issue belongs to.'),
diff --git a/simplenews.install b/simplenews.install
index 3a33ca0..9857024 100644
--- a/simplenews.install
+++ b/simplenews.install
@@ -103,12 +103,6 @@ function simplenews_schema() {
         'not null' => TRUE,
         'default' => 0,
       ),
-      'vid' => array(
-        'description' => 'The {node}.vid that identifies the version used as newsletter.',
-        'type' => 'int',
-        'not null' => TRUE,
-        'default' => 0,
-      ),
       'tid' => array(
         'description' => 'The newsletter category {simplenews_category}.tid this newsletter belongs to.',
         'type' => 'int',
@@ -135,10 +129,6 @@ function simplenews_schema() {
         'table' => 'node',
         'columns' => array('nid' => 'nid'),
       ),
-      'vid' => array(
-        'table' => 'node',
-        'columns' => array('vid' => 'vid'),
-      ),
     ),
   );
 
@@ -271,12 +261,6 @@ function simplenews_schema() {
         'not null' => TRUE,
         'default' => 0,
       ),
-      'vid' => array(
-        'description' => 'The {node}.vid of this newsletter.',
-        'type' => 'int',
-        'not null' => TRUE,
-        'default' => 0,
-      ),
       'tid' => array(
         'description' => 'The {simplenews_category}.tid this newsletter belongs to.',
         'type' => 'int',
@@ -330,10 +314,6 @@ function simplenews_schema() {
         'table' => 'node',
         'columns' => array('nid' => 'nid'),
       ),
-      'vid' => array(
-        'table' => 'node',
-        'columns' => array('vid' => 'vid'),
-      ),
       'tid' => array(
         'table' => 'simplenews_category',
         'columns' => array('tid'),
@@ -732,3 +712,4 @@ function simplenews_update_7002() {
   }
 }
 
+
diff --git a/simplenews.module b/simplenews.module
index 6946934..6e17f9b 100644
--- a/simplenews.module
+++ b/simplenews.module
@@ -422,7 +422,6 @@ function simplenews_node_insert($node) {
 function simplenews_newsletter_defaults($node = NULL) {
   $newsletter = array(
     'nid' => NULL,
-    'vid' => NULL,
     'tid' => NULL,
     'status' => SIMPLENEWS_STATUS_SEND_NOT,
     'sent_subscriber_count' => 0,
@@ -430,7 +429,6 @@ function simplenews_newsletter_defaults($node = NULL) {
 
   if ($node) {
     $newsletter['nid'] = $node->nid;
-    $newsletter['vid'] = $node->vid;
     $terms = simplenews_get_term_values($node);
     $newsletter['tid'] = $terms[0]['tid'];
   }
@@ -506,9 +504,7 @@ function simplenews_node_load($nodes, $types) {
     if (!$newsletter) {
       $newsletter = (object)simplenews_newsletter_defaults($node);
     }
-    if ($nodes[$nid]->vid == $newsletter->vid) {
-      $nodes[$nid]->simplenews = $newsletter;
-    }
+    $nodes[$nid]->simplenews = $newsletter;
   }
 }
 
@@ -718,6 +714,15 @@ function simplenews_form_alter(&$form, &$form_state, $form_id) {
  * @todo
  */
 function _simplenews_node_form(&$form, $form_state) {
+
+  // Display warning if the node is currently being sent.
+  if (!empty($form['#node']->nid)) {
+    $newsletter = simplenews_newsletter_load($form['#node']->nid);
+    if ($newsletter && $newsletter->status == SIMPLENEWS_STATUS_SEND_PENDING) {
+      drupal_set_message(t('This newsletter issue is currently being sent. Any changes will be reflected in the e-mails which have not been sent yet.'), 'warning');
+    }
+  }
+
   if (module_exists('token')) {
     $form['simplenews_token_help'] = array(
       '#title' => t('Replacement patterns'),
@@ -2242,11 +2247,8 @@ function simplenews_get_mailing_lists($show_all = FALSE) {
 /**
  * @todo
  */
-function simplenews_newsletter_load($nid, $vid = NULL, $reset = FALSE) {
+function simplenews_newsletter_load($nid, $reset = FALSE) {
   $conditions = array();
-  if (isset($vid)) {
-    $conditions[] = array('vid' => $vid);
-  }
   $newsletters = simplenews_newsletter_load_multiple(array($nid), $conditions, $reset);
   return $newsletters ? reset($newsletters) : FALSE;
 }
@@ -2288,7 +2290,7 @@ function simplenews_newsletter_load_multiple($nids = array(), $conditions = arra
  */
 function simplenews_newsletter_save($newsletter) {
   db_merge('simplenews_newsletter')
-    ->key(array('nid' => $newsletter->nid, 'vid' => $newsletter->vid))
+    ->key(array('nid' => $newsletter->nid))
     ->fields(array(
       'tid' => $newsletter->tid,
       'status' => $newsletter->status,
@@ -2310,7 +2312,6 @@ function simplenews_newsletter_delete($newsletter) {
   if ($newsletter) {
     db_delete('simplenews_newsletter')
       ->condition('nid', $newsletter->nid)
-      ->condition('vid', $newsletter->vid)
       ->execute();
   }
 }
diff --git a/simplenews_action/simplenews_action.module b/simplenews_action/simplenews_action.module
index 3621722..69339ca 100644
--- a/simplenews_action/simplenews_action.module
+++ b/simplenews_action/simplenews_action.module
@@ -78,7 +78,7 @@ function simplenews_action_send_newsletter(&$object, $context = array()) {
     }
 
     // Get sent status of this newsletter. The newsletter sent status is used not the sent status of individual emails.
-    $newsletter = simplenews_newsletter_load($context['nid'], $context['vid']);
+    $newsletter = simplenews_newsletter_load($context['nid']);
 
     // Send newsletter if resend is allowed OR newsletter is not yet send.
     if ($context['resend'] OR $newsletter->s_status == SIMPLENEWS_STATUS_SEND_NOT) {
diff --git a/tests/simplenews.test b/tests/simplenews.test
index 3664d2b..bb7952d 100644
--- a/tests/simplenews.test
+++ b/tests/simplenews.test
@@ -1193,6 +1193,10 @@ class SimplenewsSendTestCase extends SimplenewsTestCase {
     $spooled = db_query('SELECT COUNT(*) FROM {simplenews_mail_spool} WHERE nid = :nid', array(':nid' => $node->nid))->fetchField();
     $this->assertEqual(5, $spooled, t('5 mails have been added to the mail spool'));
 
+    // Check warning message on node edit form.
+    $this->clickLink(t('Edit'));
+    $this->assertText(t('This newsletter issue is currently being sent. Any changes will be reflected in the e-mails which have not been sent yet.'));
+
     // Run cron.
     simplenews_cron();
 
