--- simplenews.module	2009-01-22 08:53:24.000000000 +0100
+++ simplenews.module.new	2009-01-22 11:08:18.000000000 +0100
@@ -1697,6 +1697,8 @@
         $mail_sent[] = $key;
       }
 
+      simplenews_update_spool(array($mail_sent), SIMPLENEWS_SPOOL_SEND);
+
       // Check every n emails if we exceed the limit.
       // When PHP maximum execution time is almost elapsed we interrupt
       // sending. The remainder will be send during the next cron run.
@@ -1712,9 +1714,6 @@
     }
 
     // Update message status in the spool as sent and update newsletter status.
-    if (!empty($mail_sent)) {
-      simplenews_update_spool($mail_sent, SIMPLENEWS_SPOOL_SEND);
-    }
     simplenews_send_status_update();
 
     // Report sent result and elapsed time. On Windows systems retrusage() is
