diff --git a/app/controller/admin.php b/app/controller/admin.php
index cea39898741c16b299a922eea54a1a407f6f5584..02161632b707bd02d065dc9ae5c6113f7a70452c 100644
--- a/app/controller/admin.php
+++ b/app/controller/admin.php
@@ -252,6 +252,13 @@ class Admin extends Controller
         $f3->reroute("/admin/users/".$result['user_id']);
     }
 
+    public function regenerate_pdf($f3, $args)
+    {
+        $f3->get('container')['command_handler']->handle(new DonationResetPdfCommand($f3->get('POST.id')));
+        $f3->push('SESSION.message', 'Régénération effectuée avec succès.');
+        $f3->reroute("/admin/");
+    }
+
     public function support($f3, $args)
     {
         $id = '';
diff --git a/app/routes.ini b/app/routes.ini
index bf0bc1b89d73971c5bf19131c8a0a24966c66126..aad511791d3359fc6c6bc098db8ff9e0b75db2c2 100644
--- a/app/routes.ini
+++ b/app/routes.ini
@@ -30,6 +30,7 @@ GET @edit_support:/admin/support/edit/@id=Controller\Admin->support
 POST @modify_support:/admin/support/edit=Controller\Admin->support
 GET @invalidate_support:/admin/support/invalidate/@id=Controller\Admin->invalidate
 GET @validate_support:/admin/support/validate/@id=Controller\Admin->validate
+GET @regenerate_pdf:/admin/support/regenerate_pdf/@id=Controller\Admin->regenerate_pdf
 GET @recompute_total:/admin/recompute/total=Controller\Admin->recompute_total
 GET @recompute_cumul:/admin/recompute/cumul=Controller\Admin->recompute_cumul
 
diff --git a/app/view/backend/dons.html b/app/view/backend/dons.html
index 27f60c53f5a1b3e0c80d2d1979338d8096a25577..9d4dd9bce501868d923777498e083afcc2426129 100644
--- a/app/view/backend/dons.html
+++ b/app/view/backend/dons.html
@@ -88,7 +88,7 @@
         <false>
             <a href="{{ 'invalidate_support', 'id='.@row.id | alias }}">Invalider</a>
             -
-            <a href="{{ 'validate_support', 'id='.@row.id | alias }}">PDF</a>
+            <a href="{{ 'regenerate_pdf', 'id='.@row.id | alias }}">Regénérer le PDF</a>
         </false>
         </check>
         </td>