--- profiles/commons/modules/contrib/message_subscribe/message_subscribe_email/message_subscribe_email.module	2014-05-12 16:56:35.168945019 +0200
+++ profiles/commons/modules/contrib/message_subscribe_email.module	2014-05-26 14:55:27.051270076 +0200
@@ -111,31 +111,45 @@
     // Nobody is subscribed to the content.
     return;
   }
-
-  $flags = message_subscribe_email_flag_get_flags();
-
-  $flag_ids = array();
-  foreach ($flags as $flag) {
-    $flag_ids[] = $flag->fid;
-  }
-
-  if (FLAG_API_VERSION == 2) {
-    $query = db_select('flag_content', 'f');
-  }
-  else {
-    $query = db_select('flagging', 'f');
-  }
-
-  $result = $query->fields('f', array('uid'))
-    ->condition('fid', $flag_ids, 'IN')
-    ->condition('uid', array_keys($uids), 'IN')
-    ->groupBy('uid')
-    ->execute()
-    ->fetchAll();
-
-  foreach ($result as $row) {
-    // Add 'email' to the list of notifiers.
-    $uids[$row->uid]['notifiers']['email'] = 'email';
+  
+  foreach ($values['context'] as $entity_type => $entity_ids) {
+    if (!$entity_ids) {
+      continue;
+    }
+
+    if (!$flags = message_subscribe_email_flag_get_flags($entity_type)) {
+      // No subscribe email related flags.
+      continue;
+    }
+
+    $flag_ids = array();
+    foreach ($flags as $flag) {
+      $flag_ids[] = $flag->fid;
+    }
+
+    if (FLAG_API_VERSION == 2) {
+      $query = db_select('flag_content', 'f')
+      ->fields('f', array('uid'))
+      ->condition('content_type', $entity_type)
+      ->condition('content_id', $entity_ids, 'IN');
+    }
+    else {
+      $query = db_select('flagging', 'f')
+      ->fields('f', array('uid'))
+      ->condition('entity_type', $entity_type)
+      ->condition('entity_id', $entity_ids, 'IN');
+    }
+
+    $result = $query->condition('fid', $flag_ids, 'IN')
+      ->condition('uid', array_keys($uids), 'IN')
+      ->groupBy('uid')
+      ->execute()
+      ->fetchAll();
+
+    foreach ($result as $row) {
+      // Add 'email' to the list of notifiers.
+      $uids[$row->uid]['notifiers']['email'] = 'email';
+    }
   }
 }
 
