diff --git a/src/app/resource/controllers/SummarySheetController.php b/src/app/resource/controllers/SummarySheetController.php
index c01f6158b395a901e23066ad917b380aca082fcf..7a179d91dabe496a1890b0d59d3753896473d4e0 100755
--- a/src/app/resource/controllers/SummarySheetController.php
+++ b/src/app/resource/controllers/SummarySheetController.php
@@ -394,9 +394,11 @@ class SummarySheetController
                 }
             } elseif ($unit['unit'] == 'diffusionList') {
                 $assignee    = '';
-                $copies      = [];
                 $destination = '';
                 $found       = false;
+                $roles = EntityModel::getRoles();
+                $rolesItems = [];
+                $nbItems = 0;
                 foreach ($args['data']['listInstances'] as $listKey => $listInstance) {
                     if ($found && $listInstance['res_id'] != $resource['res_id']) {
                         break;
@@ -414,12 +416,30 @@ class SummarySheetController
                         if ($listInstance['item_mode'] == 'dest') {
                             $assignee = $item;
                         } else {
-                            $copies[] = $item;
+                            foreach ($roles as $role) {
+                                if ($listInstance['item_mode'] == $role['id'] || ($listInstance['item_mode'] == 'cc' && $role['id'] == 'copy')) {
+                                    $rolesItems[$role['id']]['item'][] = $item;
+                                    $rolesItems[$role['id']]['label'] = $role['label'];
+                                    $nbItems++;
+                                    continue;
+                                }
+                            }
                         }
                         unset($args['data']['listInstances'][$listKey]);
                         $found = true;
                     }
                 }
+
+                // Sort keys to be in the same order defined in the roles.xml file
+                $rolesIDs = array_column($roles, 'id');
+                $tmp = [];
+                foreach ($rolesIDs as $key) {
+                    if (!empty($rolesItems[$key])) {
+                        $tmp[$key] = $rolesItems[$key];
+                    }
+                }
+                $rolesItems = $tmp;
+
                 if (!empty($resource['destination'])) {
                     $destination = EntityModel::getByEntityId(['entityId' => $resource['destination'], 'select' => ['short_label']]);
                 }
@@ -429,7 +449,7 @@ class SummarySheetController
                     $assignee = _UNDEFINED;
                 }
                 $pdf->SetY($pdf->GetY() + 40);
-                if (($pdf->GetY() + 37 + count($copies) * 20) > $bottomHeight) {
+                if (($pdf->GetY() + 37 + $nbItems * 20) > $bottomHeight) {
                     $pdf->AddPage();
                 }
                 $pdf->SetFont('', 'B', 11);
@@ -440,11 +460,17 @@ class SummarySheetController
                 $pdf->MultiCell($widthAssignee, 20, _ASSIGNEE, 1, 'C', false, 0, '', '', true, 0, false, true, 20, 'M');
                 $pdf->SetFont('', 'B', 10);
                 $pdf->Cell($widthAssignee * 5, 20, "- {$assignee} {$destinationEntity}", 1, 1, 'L', false);
-                if (!empty($copies)) {
+
+                foreach ($rolesItems as $rolesItem) {
                     $pdf->SetFont('', '', 10);
-                    $pdf->MultiCell($widthAssignee, count($copies) * 20, _TO_CC, 1, 'C', false, 0, '', '', true, 0, false, true, count($copies) * 20, 'M');
-                    foreach ($copies as $copy) {
-                        $pdf->Cell($widthAssignee * 5, 20, "- {$copy}", 1, 2, 'L', false);
+                    $pdf->MultiCell($widthAssignee, count($rolesItem['item']) * 20, $rolesItem['label'], 1, 'C', false, 0, '', '', true, 0, false, true, count($rolesItem['item']) * 20, 'M');
+
+                    $nbItems = count($rolesItem['item']);
+                    $i = 0;
+                    foreach ($rolesItem['item'] as $item) {
+                        $nextLine = $i == ($nbItems - 1) ? 1 : 2;
+                        $pdf->Cell($widthAssignee * 5, 20, "- {$item}", 1, $nextLine, 'L', false);
+                        $i++;
                     }
                 }
             } elseif ($unit['unit'] == 'visaWorkflow') {