diff --git a/plugins/configuration/tasks/class_tasks.inc b/plugins/configuration/tasks/class_tasks.inc
index 3c895854371350878e32a99e0c0963743c8bdc4b..2f0f0a5c4ab306350c5718fbf9e636fdcdc06279 100644
--- a/plugins/configuration/tasks/class_tasks.inc
+++ b/plugins/configuration/tasks/class_tasks.inc
@@ -148,9 +148,15 @@ class tasks extends simplePlugin
         if (!empty($subTasks)) {
           // Recuperate members DN from the ldap search.
           foreach ($subTasks as $subTask) {
-            // Case of a DN passed but being locked.
-            if (!empty($subTask['fdTasksGranularDN'][0])) {
-              $membersDN[] = $subTask['fdTasksGranularDN'][0];
+
+            // For lifeCycle we check DN and for mailObject we check mail
+            switch ($attributeType) {
+              case 'fdTasksGranularDN':
+                $membersDN[] = $subTask['fdTasksGranularDN'][0];
+                break;
+              case 'fdTasksGranularMail':
+                $membersDN[] = $subTask['fdTasksGranularMail'][0];
+                break;
             }
           }
           // Verify the DN differences and only keep those.
@@ -186,7 +192,7 @@ class tasks extends simplePlugin
               "fdTasksGranularMailBCC"  => $attrs['bcc']
             ];
             break;
-          case 'fdTasksLifeCycle' :
+          case 'fdTasksGranularDN' :
             $prepData['tasksGranular'] = [
               "fdTasksGranularDN"   => $dn,
               "fdTasksGranularType" => 'Life Cycle',
@@ -257,12 +263,12 @@ class tasks extends simplePlugin
               $listMemberDN[] = $memberDN;
             }
             // case of member not within a group or dyngroup
-          } else {
-            $listMemberDN[] = $group; //Here group is indeed a sole user
           }
-          // Make sure no duplicate can happens, case of same member in an existing group.
-          $listMemberDN = array_unique($listMemberDN);
+        } else {
+          $listMemberDN[] = $group; //Here group is indeed a sole user
         }
+        // Make sure no duplicate can happens, case of same member in an existing group.
+        $listMemberDN = array_unique($listMemberDN);
       }
 
       // Iterate on the DN list to remove any members representing a group (members of that potential groups were extracted).
diff --git a/plugins/configuration/tasks/class_tasksLifeCycle.inc b/plugins/configuration/tasks/class_tasksLifeCycle.inc
index b5a9f2aa259a3697aeaf7d2c8a2c9420b5cff641..67f15e1016a870bc26a57de817a528cac010d8f5 100644
--- a/plugins/configuration/tasks/class_tasksLifeCycle.inc
+++ b/plugins/configuration/tasks/class_tasksLifeCycle.inc
@@ -186,8 +186,9 @@ class tasksLifeCycle extends simplePlugin
    */
   public function generateSlaveTasks ()
   {
-    $listOfDN      = $this->attributesAccess['fdTasksLifeCycleListOfDN']->getValue();
-    $attributeType = 'fdTasksLifeCycle';
+    $listOfDN = $this->attributesAccess['fdTasksLifeCycleListOfDN']->getValue();
+    // The attribute required to be search in createSlaveTasks
+    $attributeType = 'fdTasksGranularDN';
 
     // Call the method from parent tasks object (first tab) to create sub-tasks.
     $this->parent->getBaseObject()->createSlaveTasks($listOfDN, $attributeType);