diff --git a/subscriptions_mail.cron.inc b/subscriptions_mail.cron.inc
index 3cb26ca..b1f3a65 100644
--- a/subscriptions_mail.cron.inc
+++ b/subscriptions_mail.cron.inc
@@ -100,7 +100,8 @@ function _subscriptions_mail_cron() {
           if (!isset($fields[$lang_code][$module])) {
             $fields[$lang_code][$module] = module_invoke_all('subscriptions', 'fields', $module);
           }
-          $data_function = $fields[$lang_code][$module][$field]['data_function'];
+          $data_functions = $fields[$lang_code][$module][$field]['data_function'];
+         // Determine if multiple data functions are defined if not make it into an array
+	  if (!is_array($data_functions)) $data_functions = array($data_functions);
           $mailmod = (empty($fields[$lang_code][$module][$field]['mail_module']) ? 'subscriptions_mail' : $fields[$lang_code][$module][$field]['mail_module']);
           $mailkey = $fields[$lang_code][$module][$field]['mailkey'];
           if ($mailkey_altered = module_invoke_all('subscriptions', 'mailkey_alter', $mailkey, $object, $queue_item)) {
@@ -116,7 +117,9 @@ function _subscriptions_mail_cron() {
             ),
             'user' => user_load(!empty($object->revision_uid) ? $object->revision_uid : $object->uid),
           );
-          $data_function($data, $object, $queue_item);
+	  foreach($data_functions as $data_function) {
+             $data_function($data, $object, $queue_item);
+	  }
           drupal_alter('subscriptions_data', $data, $object, $queue_item);
           //mail_edit_format($values['subscriptions_comment_body'], $data + array('comment' => $comment), array('language' => $language));
 
