diff --git simplenews-status.tpl.php simplenews-status.tpl.php
index 863f219..f27f329 100644
--- simplenews-status.tpl.php
+++ simplenews-status.tpl.php
@@ -1,5 +1,5 @@
 <?php
-// $Id: simplenews-status.tpl.php,v 1.4 2009/03/14 02:01:38 sutharsan Exp $
+// $Id: simplenews-status.tpl.php,v 1.4.2.1 2010/08/06 13:13:18 mirodietiker Exp $
 
 /**
  * @file
@@ -15,6 +15,9 @@
 ?>
   <?php if (isset($image)): ?>
     <img src="<?php print $image; ?>" width="15" height="15" alt="<?php print $alt; ?>" border="0" title="<?php print $title; ?>" />
+    <?php if (isset($trailer)): ?>
+      <span id="simplenews_status_sent"> (<?php print $trailer; ?>) </span>
+    <?php endif; ?>
   <?php else: ?>
     <?php print $title; ?>
   <?php endif; ?>
diff --git simplenews.admin.inc simplenews.admin.inc
index ec6baa4..48569b8 100644
--- simplenews.admin.inc
+++ simplenews.admin.inc
@@ -1,5 +1,5 @@
 <?php
-// $Id: simplenews.admin.inc,v 1.59.2.9 2010/04/19 08:49:33 sutharsan Exp $
+// $Id: simplenews.admin.inc,v 1.59.2.10 2010/08/06 13:13:18 mirodietiker Exp $
 
 /**
  * @file
@@ -28,7 +28,7 @@ function simplenews_admin_news(&$form_state, $action = 'sent') {
     $form['last_sent'] = array('#value' => '<p>'. format_plural(variable_get('simplenews_last_sent', 0), 'Last batch: 1 mail sent at !time.', 'Last batch: !count mails sent at !time.', array('!time' => format_date(variable_get('simplenews_last_cron', ''), 'small'), '!count' => variable_get('simplenews_last_sent', 0))) ."</p>\n");
   }
 
-  $header = array(t('Title'), t('Newsletter'), t('Date created'), t('Published'), t('Sent'), t('Subscribers'), t('Operations'));
+  $header = array(t('Title'), t('Newsletter'), t('Date created'), t('Published'), t('Sent'), t('Operations'));
   list($names, $queries) = array_values(simplenews_get_filter('simplenews_newsletters_filter'));
   $filter = isset($_SESSION['simplenews_newsletters_filter']) ? $_SESSION['simplenews_newsletters_filter'] : '';
   $form['simplenews_issue_filter']['filter'] = array(
@@ -37,7 +37,7 @@ function simplenews_admin_news(&$form_state, $action = 'sent') {
     '#default_value' => $filter,
   );
   $where_condition = isset($queries[$filter]) && !empty($queries[$filter]) ? 'WHERE '. $queries[$filter]  : '';
-  $query = "SELECT DISTINCT n.*, s.s_status, s.tid FROM {node} n INNER JOIN {simplenews_newsletters} s ON n.nid = s.nid ". $where_condition ." ORDER BY n.created DESC";
+  $query = "SELECT DISTINCT n.*, s.s_status, s.tid, s.sent_subscriber_count FROM {node} n INNER JOIN {simplenews_newsletters} s ON n.nid = s.nid ". $where_condition ." ORDER BY n.created DESC";
   $count_query = "SELECT COUNT(n.nid) FROM {node} n INNER JOIN {simplenews_newsletters} s ON n.nid = s.nid ". $where_condition;
   $result = pager_query(db_rewrite_sql($query, 'n', 'nid'), 10, 0, db_rewrite_sql($count_query, 'n', 'nid'), 0);
   
@@ -46,17 +46,18 @@ function simplenews_admin_news(&$form_state, $action = 'sent') {
     $row = array();
     $operation = array();
     $terms = array_keys(taxonomy_node_get_terms_by_vocabulary($node, $vid, 'name'));
-    $subscriber_count = simplenews_count_subscriptions($node->tid);
+    $status = $node->s_status;
+    $sent_subscriber_count = $node->sent_subscriber_count;
     $pending_count = simplenews_count_spool($node->nid, $node->vid);
-    $send_status = $node->s_status == SIMPLENEWS_STATUS_SEND_PENDING ? $subscriber_count - $pending_count : theme('simplenews_status', $node->s_status, 'sent');
+    $already_sent = $sent_subscriber_count - $pending_count;
+    $source = 'sent';
+    $send_status = theme('simplenews_status', $status, 'sent', $already_sent, $sent_subscriber_count);
     $operation[] = l(t('edit'), 'node/'. $node->nid .'/edit', array('query' => drupal_get_destination()));
-
     $row[] = l($node->title, 'node/'. $node->nid);
     $row[] = isset($terms[0]) ? $terms[0] : t('n/a');
     $row[] = format_date($node->created, 'small');
     $row[] = theme('simplenews_status', $node->status, 'published');
     $row[] = $send_status;
-    $row[] = $subscriber_count;
     $row[] = implode(' ', $operation);
     $rows[] = $row;
   }
@@ -1333,14 +1334,15 @@ function template_preprocess_simplenews_status(&$variables) {
       );
       $title = array(
         SIMPLENEWS_STATUS_SEND_NOT => '-',
-        SIMPLENEWS_STATUS_SEND_PENDING => t('Currently sending by cron'),
-        SIMPLENEWS_STATUS_SEND_READY => t('Sent')
+        SIMPLENEWS_STATUS_SEND_PENDING => $variables['already_sent'] . ' / ' . $variables['sent_subscriber_count'],
+        SIMPLENEWS_STATUS_SEND_READY => $variables['sent_subscriber_count'],
       );
+      $variables['trailer'] = $title[$variables['status']];
       break;
   }
 
   // Build the variables
-  if ($images[$variables['status']]) {
+  if (isset($images) && $images[$variables['status']]) {
     $variables['image'] = base_path() . drupal_get_path('module', 'simplenews') .'/'. $images[$variables['status']];
   }
   $variables['alt'] = $variables['title'] = $title[$variables['status']];
diff --git simplenews.install simplenews.install
index 9ba6d08..ae50cc0 100644
--- simplenews.install
+++ simplenews.install
@@ -1,5 +1,5 @@
 <?php
-// $Id: simplenews.install,v 1.36.2.3 2010/03/30 12:24:03 sutharsan Exp $
+// $Id: simplenews.install,v 1.36.2.4 2010/08/06 13:13:18 mirodietiker Exp $
 
 /**
  * @file
@@ -102,6 +102,12 @@ function simplenews_schema() {
         'not null' => TRUE,
         'default' => 0,
       ),
+      'sent_subscriber_count' => array(
+        'description' => 'The count of subcsribers to the newsletter when it was sent.',
+        'type' => 'int',
+        'not null' => TRUE,
+        'default' => 0,
+      ),
     ),
     'primary key' => array('nid'),
   );
@@ -704,3 +710,20 @@ function simplenews_update_6200() {
   db_add_field($ret, 'simplenews_mail_spool', 'error', array('type' => 'int', 'not null' => TRUE, 'default' => 0));
   return $ret;
 }
+
+/**
+ * Add 'sent_subscriber_count' field to 'simplenews_newsletters' table.
+ */
+function simplenews_update_6201() {
+  $ret = array();
+  db_add_field($ret, 'simplenews_newsletters', 'sent_subscriber_count', array(
+        'description' => 'The count of subcsribers to the newsletter when it was sent.',
+        'type' => 'int',
+        'not null' => TRUE,
+        'default' => 0,
+    )
+  );
+  db_query("UPDATE {simplenews_newsletters} sn SET sent_subscriber_count = (SELECT count(tid) FROM simplenews_snid_tid WHERE tid = sn.tid AND status = %d)", SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED);
+  return $ret;
+}
+
diff --git simplenews.module simplenews.module
index d16eca7..6f88cee 100644
--- simplenews.module
+++ simplenews.module
@@ -1,5 +1,5 @@
 <?php
-// $Id: simplenews.module,v 1.220.2.31 2010/08/05 09:13:19 mirodietiker Exp $
+// $Id: simplenews.module,v 1.220.2.32 2010/08/06 13:13:18 mirodietiker Exp $
 
 /**
  * @defgroup simplenews
@@ -389,12 +389,20 @@ function simplenews_nodeapi(&$node, $op, $teaser, $page) {
 
       $send_with_permission = $node->simplenews['send'] == SIMPLENEWS_COMMAND_SEND_NOW && user_access('send newsletter');
       // @todo: {simplenews_newsletters} data might be missing if an uninstall happened at some time with simplenews nodes created. try to insert if missing.
-      if ($op == 'insert') {
+      
+      $result = db_query("SELECT nid from {simplenews_newsletters} WHERE nid = %d", $node->nid);
+      $result = db_result($result);
+      if (!is_numeric($result)) {
         // Insert node
+        $result = db_query('SELECT count(tid) AS sent_subscriber_count FROM {simplenews_snid_tid} WHERE tid = %d AND status = %d', $node->simplenews['tid'], SIMPLENEWS_SUBSCRIPTION_STATUS_SUBSCRIBED);
+        $result = db_fetch_object( $result );
+        $sent_subscriber_count = is_numeric($result->sent_subscriber_count) ? $result->sent_subscriber_count : 0;
+         
+
         $s_status = $send_with_permission ? SIMPLENEWS_STATUS_SEND_PENDING : SIMPLENEWS_STATUS_SEND_NOT;
-        db_query("INSERT INTO {simplenews_newsletters} (nid, vid, tid, s_status, s_format, priority, receipt)
-                  VALUES (%d, %d, %d, %d, '%s', %d, %d)", $node->nid, $node->vid, $node->simplenews['tid'], $s_status, $node->simplenews['s_format'], $node->simplenews['priority'], $node->simplenews['receipt']);
-        }
+        db_query("INSERT INTO {simplenews_newsletters} (nid, vid, tid, s_status, s_format, priority, receipt,sent_subscriber_count)
+                  VALUES (%d, %d, %d, %d, '%s', %d, %d, %d)", $node->nid, $node->vid, $node->simplenews['tid'], $s_status, $node->simplenews['s_format'], $node->simplenews['priority'], $node->simplenews['receipt'], $sent_subscriber_count);
+      }
       else {
         // Update node
         if ($send_with_permission) {
@@ -2699,7 +2707,7 @@ function simplenews_theme() {
     'simplenews_status' => array(
       'template' => 'simplenews-status',
       'file' => 'simplenews.admin.inc',
-      'arguments' => array('status' => NULL, 'source' => NULL),
+      'arguments' => array('status' => NULL, 'source' => NULL, 'already_sent' => NULL, 'sent_subscriber_count' => NULL),
     ),
     'simplenews_newsletter_subject' => array(
       'arguments' => array('name' => NULL, 'title' => NULL, 'language' => NULL),
