diff --git a/plugins/configuration/tasks/class_tasksMail.inc b/plugins/configuration/tasks/class_tasksMail.inc
index 6a449725a4f356ee9d8ec66fe92f2e01d062278d..872cca03cb97c4732a48ca1822d783a65953f20d 100644
--- a/plugins/configuration/tasks/class_tasksMail.inc
+++ b/plugins/configuration/tasks/class_tasksMail.inc
@@ -265,20 +265,30 @@ class tasksMail extends simplePlugin
       if ($newMemberOnly === TRUE) {
         $ldap->cd($config->current['BASE']);
         $filter = '(&(objectClass=fdTasksGranular)(fdTasksGranularMaster='.$this->dn.'))';
+
         $attrs = ['fdTasksGranularMail'];
         $ldap->search($filter, $attrs);
+
+        // The while loop is important to get all info from ldap into the array.
         while ($info = $ldap->fetch()) {
           $subTasks[] = $info;
         }
-        foreach ($subTasks as $subTask) {
-          $membersEmailslist[] = $subTask['fdTasksGranularMail'][0];
+
+        if (!empty($subTasks)) {
+          // Recuperate members email from the ldap search.
+          foreach ($subTasks as $subTask) {
+            $membersEmailsList[] = $subTask['fdTasksGranularMail'][0];
+          }
+          // Verify the emails differences and only keep those.
+          if (!empty($membersEmailsList)) {
+            $emails = array_diff($emails, $membersEmailsList);
+          }
+          // Simple re-index the array.
+          $emails = array_values($emails);
         }
-        // Correct list of emails in below variable.
-        print_r($membersEmailslist);
       }
 
       foreach ($emails as $email) {
-
         // Here we create the object taskGranular
         $tabObject = objects::create('TasksGranular');