--- simplenews.module	Mon Nov 15 01:00:02 2010
+++ simplenews.module	Mon Nov 22 20:43:01 2010
@@ -1410,14 +1410,17 @@
     //  - Registered users will be subscribed with their default language as
     //    set in their account settings.
     // By default the preferred language is not set.
-    if (variable_get('language_count', 1) > 1) {
+    /*if (variable_get('language_count', 1) > 1) {
       if ($account->uid) {
         $preferred_language = $account->language;
       }
       else {
         $preferred_language = isset($preferred_language) ? $preferred_language : $language->language;
       }
-    }
+    }*/
+		if (variable_get('language_count', 1) < 2) {
+			$preferred_language = NULL;
+		}
 
     db_query("
       INSERT INTO {simplenews_subscriptions}

--- simplenews.subscription.inc	Mon Nov 15 01:00:02 2010
+++ simplenews.subscription.inc	Mon Nov 22 20:54:35 2010
@@ -131,6 +131,21 @@
       $form['#attributes'] = array('class' => 'simplenews-unsubscribe');
     }
     else {
+      if (variable_get('language_count', 1) > 1 || module_exists('locale')) {
+				$language_list = language_list('language');
+				$language_options = array();
+				foreach ($language_list AS $language_code => $language_info) {
+					$language_options[$language_code] = $language_info->native;
+				}
+				$default = language_default();
+				$form['lang'] = array(
+					'#type' => 'radios',
+					'#title' => t('Language'),
+					'#required' => TRUE,
+					'#options' => $language_options,
+					'#default_value' => $default->language
+				);
+			}
       $form['action'] = array('#type' => 'value', '#value' => 'subscribe');
       $form['#attributes'] = array('class' => 'simplenews-subscribe');
     }
@@ -144,7 +159,22 @@
       '#maxlength' => 128,
       '#required' => TRUE,
     );
-    $form['action'] = array('#type' => 'value', '#value' => 'subscribe');
+    if (variable_get('language_count', 1) > 1 || module_exists('locale')) {
+			$language_list = language_list('language');
+			$language_options = array();
+			foreach ($language_list AS $language_code => $language_info) {
+				$language_options[$language_code] = $language_info->native;
+			}
+			$default = language_default();
+			$form['lang'] = array(
+				'#type' => 'radios',
+				'#title' => t('Language'),
+				'#required' => TRUE,
+				'#options' => $language_options,
+				'#default_value' => $default->language
+			);
+		}
+		$form['action'] = array('#type' => 'value', '#value' => 'subscribe');
     $form['#attributes'] = array('class' => 'simplenews-subscribe');
   }
 
@@ -188,7 +218,7 @@
 
   switch ($form_state['values']['action']) {
     case 'subscribe':
-      simplenews_subscribe_user($form_state['values']['mail'], $tid, $confirm, 'website');
+      simplenews_subscribe_user($form_state['values']['mail'], $tid, $confirm, 'website', $form_state['values']['lang']);
       if ($confirm) {
         drupal_set_message(t('You will receive a confirmation email shortly containing further instructions on how to complete your subscription.'));
       }
