--- simplenews.module	2009-01-22 08:53:24.000000000 +0100
+++ simplenews.module.new	2009-01-22 12:01:34.000000000 +0100
@@ -345,6 +345,7 @@
       break;
     case 'validate':
       global $_simplenews_valid_mails;
+      $node->simplenews=array_merge(simplenews_form_defaults(), $node->simplenews);
       if ($node->simplenews['send'] == SIMPLENEWS_COMMAND_SEND_NOW) {
         if (!isset($node->taxonomy)) {
           form_set_error('', t('You should assign content type %content_type to the !newsletter_vocabulary before you can send this newsletter.', array('%content_type' => $node->type, '!newsletter_vocabulary' => l(t('Newsletter vocabulary'), 'admin/content/taxonomy'))));
@@ -2408,3 +2409,16 @@
   $variables['unsubscribe_text'] = t('Unsubscribe from this newsletter', array(), $variables['language']->language);
   $variables['test_message'] = t('This is a test version of the newsletter.', array(), $variables['language']->language);
 }
+
+/**
+ * Get the defaults for the simplenews form.
+ */
+function simplenews_form_defaults() {
+  $defaults=array();
+  $defaults['s_format'] = key(_simplenews_format_options());
+  $defaults['priority'] = variable_get('simplenews_priority', SIMPLENEWS_PRIORITY_NONE);
+  $defaults['receipt'] = variable_get('simplenews_receipt', 0);
+  $defaults['send'] = (user_access('send newsletter') ? variable_get('simplenews_send', SIMPLENEWS_COMMAND_SEND_NONE): SIMPLENEWS_COMMAND_SEND_NONE);      
+  $defaults['test_address'] = variable_get('simplenews_test_address', variable_get('site_mail', ini_get('sendmail_from')));  
+  return $defaults;
+}
