diff --git a/profiles/openfed/modules/contrib/addemar_subscription/addemar_subscription.module b/profiles/openfed/modules/contrib/addemar_subscription/addemar_subscription.module
index a6cc394..73aac6e 100644
--- a/profiles/openfed/modules/contrib/addemar_subscription/addemar_subscription.module
+++ b/profiles/openfed/modules/contrib/addemar_subscription/addemar_subscription.module
@@ -71,52 +71,52 @@ function addemar_subscription_help($path, $arg) {
  */
 function addemar_subscription_variable_group_info() {
   $groups['addemar_subscription'] = array(
-    'title'       => t('Addemar Subscription'),
+    'title' => t('Addemar Subscription'),
     'description' => t('Addemar settings'),
-    'access'      => 'administer site configuration',
+    'access' => 'administer site configuration',
   );
   return $groups;
 }
 
- /**
-  * Implements hook_variable_info().
-  */
+/**
+ * Implements hook_variable_info().
+ */
 function addemar_subscription_variable_info($options) {
   $variable['addemar_subscription_addemar_fields'] = array(
-    'type'        => 'text',
-    'title'       => t('Addemar Fields', array(), $options),
+    'type' => 'text',
+    'title' => t('Addemar Fields', array(), $options),
     'description' => t('List all fields declared in Addemar here.', array(), $options),
-    'default'     => '',
-    'group'       => 'addemar_subscription',
+    'default' => '',
+    'group' => 'addemar_subscription',
   );
   $variable['addemar_subscription_language_field'] = array(
-    'type'        => 'string',
-    'title'       => t('Addemar Language Field', array(), $options),
+    'type' => 'string',
+    'title' => t('Addemar Language Field', array(), $options),
     'description' => t('The Addemar field that should be used to store the language for a user.', array(), $options),
-    'default'     => '',
-    'group'       => 'addemar_subscription',
+    'default' => '',
+    'group' => 'addemar_subscription',
   );
   $variable['addemar_subscription_submit_button'] = array(
-    'type'        => 'string',
-    'title'       => t('Submit button', array(), $options),
+    'type' => 'string',
+    'title' => t('Submit button', array(), $options),
     'description' => t('Change the text value on the submit button.', array(), $options),
-    'default'     => ADDEMAR_SUBSCRIPTION_SUBMIT_BUTTON,
-    'group'       => 'addemar_subscription',
+    'default' => ADDEMAR_SUBSCRIPTION_SUBMIT_BUTTON,
+    'group' => 'addemar_subscription',
   );
 
   $variable['addemar_subscription_message_success'] = array(
-    'type'        => 'string',
-    'title'       => t('Message success', array(), $options),
+    'type' => 'string',
+    'title' => t('Message success', array(), $options),
     'description' => t('The message that will be displayed if everything went well.', array(), $options),
-    'default'     => ADDEMAR_SUBSCRIPTION_MESSAGE_SUCCESS,
-    'group'       => 'addemar_subscription',
+    'default' => ADDEMAR_SUBSCRIPTION_MESSAGE_SUCCESS,
+    'group' => 'addemar_subscription',
   );
   $variable['addemar_subscription_message_error'] = array(
-    'type'        => 'string',
-    'title'       => t('Message error', array(), $options),
+    'type' => 'string',
+    'title' => t('Message error', array(), $options),
     'description' => t('The message that will be displayed if an error is returned by Addemar.', array(), $options),
-    'default'     => ADDEMAR_SUBSCRIPTION_MESSAGE_ERROR,
-    'group'       => 'addemar_subscription',
+    'default' => ADDEMAR_SUBSCRIPTION_MESSAGE_ERROR,
+    'group' => 'addemar_subscription',
   );
 
   return $variable;
@@ -141,20 +141,20 @@ function addemar_subscription_permission() {
  */
 function addemar_subscription_menu() {
   $items['admin/config/services/addemar_subscription'] = array(
-    'title'             => 'Addemar subscription',
-    'description'       => 'Configure Addemar subscription.',
-    'page callback'     => 'drupal_get_form',
-    'page arguments'    => array('addemar_subscription_admin'),
-    'access arguments'  => array('access addemar_subscription configuration'),
-    'type'              => MENU_NORMAL_ITEM,
-    'file'              => 'includes/addemar_subscription.admin.inc',
+    'title' => 'Addemar subscription',
+    'description' => 'Configure Addemar subscription.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('addemar_subscription_admin'),
+    'access arguments' => array('access addemar_subscription configuration'),
+    'type' => MENU_NORMAL_ITEM,
+    'file' => 'includes/addemar_subscription.admin.inc',
   );
   $items[variable_get('addemar_subscription_page_url', ADDEMAR_SUBSCRIPTION_PAGE_URL)] = array(
-    'title'             => 'Newsletter registration',
-    'type'              => MENU_NORMAL_ITEM,
-    'page callback'     => 'drupal_get_form',
-    'page arguments'    => array('addemar_subscription_subscribe_form'),
-    'access arguments'  => array('access addemar_subscription content'),
+    'title' => 'Newsletter registration',
+    'type' => MENU_NORMAL_ITEM,
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('addemar_subscription_subscribe_form'),
+    'access arguments' => array('access addemar_subscription content'),
   );
 
   return $items;
@@ -222,8 +222,8 @@ function addemar_subscription_subscribe_form() {
         }
 
         $form['addemar_subscription_' . $name] = array(
-          '#type'     => 'textfield',
-          '#title'    => t(check_plain($label)),
+          '#type' => 'textfield',
+          '#title' => t(check_plain($label)),
           '#required' => (isset($required) || $name === 'email') ? TRUE : FALSE,
         );
         $email_exist = ($name === 'email');
@@ -233,15 +233,15 @@ function addemar_subscription_subscribe_form() {
     // The email is required whatsoever, so add it if not listed in the admin.
     if (!$email_exist) {
       $form['addemar_subscription_email'] = array(
-        '#type'     => 'textfield',
-        '#title'    => t('Email'),
+        '#type' => 'textfield',
+        '#title' => t('Email'),
         '#required' => TRUE,
       );
     }
 
     $form['submit'] = array(
-      '#type'     => 'submit',
-      '#value'    => t(variable_get_value('addemar_subscription_submit_button')),
+      '#type' => 'submit',
+      '#value' => t(variable_get_value('addemar_subscription_submit_button')),
     );
   }
   else {
@@ -312,16 +312,21 @@ function addemar_subscription_subscribe_form_submit($form, &$form_state) {
       $groups_ids = array_values(array_filter($form_state['values']['newsletters']));
 
       foreach ($groups_ids as $group_id) {
-        $args = array(
-          'contact_data' => $contact_data,
-          'log_msg' => $source,
-          'language' => $lang_code,
-          'mgid' => $group_id,
-        );
-        $cid = $s_client->__soapCall('formOptin', $args);
-
-        if (!is_numeric($cid)) {
-          $success = FALSE;
+        $group_id = explode(',', $group_id);
+        foreach ($group_id as $key => $id) {
+          if ($id != 0) {
+            $args = array(
+              'contact_data' => $contact_data,
+              'log_msg' => $source,
+              'language' => $lang_code,
+              'mgid' => $id,
+            );
+            $cid = $s_client->__soapCall('formOptin', $args);
+
+            if (!is_numeric($cid)) {
+              $success = FALSE;
+            }
+          }
         }
       }
     }
diff --git a/profiles/openfed/modules/contrib/addemar_subscription/includes/addemar_subscription.functions.inc b/profiles/openfed/modules/contrib/addemar_subscription/includes/addemar_subscription.functions.inc
index c3955d7..d1724e9 100644
--- a/profiles/openfed/modules/contrib/addemar_subscription/includes/addemar_subscription.functions.inc
+++ b/profiles/openfed/modules/contrib/addemar_subscription/includes/addemar_subscription.functions.inc
@@ -51,17 +51,29 @@ function _addemar_subscription_add_more_newsletter_form($key, $weight, $group =
   $soap_wsdl = variable_get('addemar_subscription_soap_wsdl', ADDEMAR_SUBSCRIPTION_SOAP_WSDL);
   $group_options = array();
   if ($s_client = _addemar_subscription_get_soap_client($soap_wsdl)) {
-    $mail_groups = $s_client->getMailgroupsByType(0);
-    foreach ($mail_groups as $mail_group) {
-      $group_data = $s_client->getMailgroupData($mail_group);
-      // Only show static groups:
-      if ($group_data->type == '1') {
-        $special = ' (' . t('warning: special group!') .')';
+    $groups_ids = $s_client->getMailgroupsByType();
+    foreach ($groups_ids as $key_id => $group_id) {
+      try {
+        $mail_groups = $s_client->getMailgroupsByType($key_id);
       }
-      else {
-        $special = '';
+      catch (Exception $e) {
+      }
+      if (isset ($mail_groups)) {
+        foreach ($mail_groups as $mail_group) {
+          $group_data = $s_client->getMailgroupData($mail_group);
+
+          // Only show static groups:
+          if ($group_data->type == '1') {
+            $special = ' (' . t('warning: special group!') . ')';
+          }
+          else {
+            $special = '';
+          }
+          $group_description = $group_data->description;
+          $group_options[$mail_group] = check_plain('#' . $mail_group . ': ' . $group_data->name) . ': ' . $group_description . $special;
+
+        }
       }
-      $group_options[$mail_group] = check_plain('#' . $mail_group . ': ' . $group_data->name) . $special;
     }
   }
 
