diff --git a/VERSIONS_HOTLINE/155241 b/VERSIONS_HOTLINE/155241
new file mode 100644
index 0000000000000000000000000000000000000000..64b9752aebe86f9e2a22ca80c0c9d022cffa9996
--- /dev/null
+++ b/VERSIONS_HOTLINE/155241
@@ -0,0 +1 @@
+ - correctif #155241 : Administration : La duplication d'article prend maintenant en charge les champs personnalisés.
\ No newline at end of file
diff --git a/library/ZendAfi/Controller/Plugin/Manager/Article.php b/library/ZendAfi/Controller/Plugin/Manager/Article.php
index ebce05da8c2cbe73d688ff766b338afc1f22f518..61653508d93f6658dc6b824910f6921824d20d2a 100644
--- a/library/ZendAfi/Controller/Plugin/Manager/Article.php
+++ b/library/ZendAfi/Controller/Plugin/Manager/Article.php
@@ -48,10 +48,8 @@ class ZendAfi_Controller_Plugin_Manager_Article extends ZendAfi_Controller_Plugi
       return $this->_redirectToIndex();
     }
 
-    if($category = $model->getCategorie())
-      $this->_setParam('id_cat', $category->getId());
+    parent::editAction();
 
-    parent::addAction();
     if ($this->_response->isRedirect())
       return;
 
@@ -60,10 +58,10 @@ class ZendAfi_Controller_Plugin_Manager_Article extends ZendAfi_Controller_Plugi
       ->setAction($this->_view->url(['module' => 'admin',
                                      'controller' => 'cms',
                                      'action' => 'add',
-                                     'id_cat' => $this->_getParam('id_cat')],
+                                     'id_cat' => $model->getIdCat()],
                                     null, true));
 
-    $this->_view_renderer->setScriptAction('add');
+    $this->_view_renderer->setScriptAction('edit');
   }
 
 
diff --git a/tests/application/modules/admin/controllers/CmsControllerCustomFieldsTest.php b/tests/application/modules/admin/controllers/CmsControllerCustomFieldsTest.php
index 25bb72addc3d24dd905f36c9770561607d5d5733..e955b9d40f11e5b01ad735197c4007a99d3b7385 100644
--- a/tests/application/modules/admin/controllers/CmsControllerCustomFieldsTest.php
+++ b/tests/application/modules/admin/controllers/CmsControllerCustomFieldsTest.php
@@ -300,4 +300,51 @@ class CmsControllerCustomFieldsNotIndexableMetaPostEditActionTest
   public function recordShouldNotHaveHCFCFFacet() {
     $this->assertEquals('T8', $this->_record->getFacettes());
   }
+}
+
+
+
+
+class CmsControllerCustomFieldsPostAddActionTest
+  extends CmsControllerCustomFieldsTestCase {
+
+
+  public function setUp() {
+    parent::setUp();
+
+    $admin =
+      $this->fixture(Class_Users::class,
+                     ['id' => 787,
+                      'login' => 'ADMIN',
+                      'password' => 'TÉLÉPHONE',
+                      'role_level' => 7]);
+
+    ZendAfi_Auth::getInstance()->logUser($admin);
+
+    $this->fixture(Class_ArticleCategorie::class,
+                   ['id' => 12,
+                   'libelle' => 'accueil']);
+
+    $this->postDispatch('admin/cms/add/id_cat/12',
+                        ['titre' => 'New Article',
+                         'contenu' => 'Welcome to the world',
+                         'field_5' => 'Hardcore gamers',
+                         'field_89' => ['Débutant'],
+                         'debut' => '',
+                         'fin' => '',
+                         'events_debut' => '',
+                         'events_fin' => '']);
+  }
+
+
+  /** @test */
+  public function shouldHaveCreatedCustomValueHardcoreGamers() {
+    $this->assertNotNull(Class_CustomField_Value::findFirstBy(['value' => 'Hardcore gamers']));
+  }
+
+
+  /** @test */
+  public function shouldHaveCreatedCustomValueDebutant() {
+    $this->assertNotNull(Class_CustomField_Value::findFirstBy(['value' => 'Débutant']));
+  }
 }
\ No newline at end of file
diff --git a/tests/application/modules/admin/controllers/CmsControllerTest.php b/tests/application/modules/admin/controllers/CmsControllerTest.php
index eda6f8f2a3ee2c174c42ac9fa36f29cf46d39a72..1518c01c1b6ee76756321bed8685052edb305a82 100644
--- a/tests/application/modules/admin/controllers/CmsControllerTest.php
+++ b/tests/application/modules/admin/controllers/CmsControllerTest.php
@@ -494,6 +494,7 @@ class CmsControllerArticleWithoutCategoryAddActionTest extends CmsControllerWith
 
 
 class CmsControllerArticleDuplicateActionTest extends CmsControllerWithPermissionTestCase {
+
   protected
     $_admin_bib,
     $_concert;
@@ -501,28 +502,45 @@ class CmsControllerArticleDuplicateActionTest extends CmsControllerWithPermissio
   public function setUp() {
     parent::setUp();
 
-    $this->_admin_bib = $this->fixture('Class_Users',
-                                       ['id' => 10,
-                                        'login' => 'AdminBibConnected',
-                                        'bib' => $this->fixture('Class_Bib',
-                                                                ['id' => 2,
-                                                                 'id_zone' => 4,
-                                                                 'libelle' => 'Annecy']),
-                                        'role' => 'admin_bib',
-                                        'mail' => 'admin@afi-sa.fr',
-                                        'password' => 'toto',
-                                        'role_level' => ZendAfi_Acl_AdminControllerRoles::ADMIN_BIB]);
+    $this->_admin_bib =
+      $this->fixture(Class_Users::class,
+                     ['id' => 10,
+                      'login' => 'AdminBibConnected',
+                      'bib' => $this->fixture('Class_Bib',
+                                              ['id' => 2,
+                                               'id_zone' => 4,
+                                               'libelle' => 'Annecy']),
+                      'role' => 'admin_bib',
+                      'mail' => 'admin@afi-sa.fr',
+                      'password' => 'toto',
+                      'role_level' => ZendAfi_Acl_AdminControllerRoles::ADMIN_BIB]);
     ZendAfi_Auth::getInstance()->logUser($this->_admin_bib);
+
     $this->setupArticle();
-    $this->dispatch('/admin/cms/newsduplicate/id/8080', true);
+
+    $this->dispatch('/admin/cms/newsduplicate/id/8080');
   }
 
 
   public function setupArticle() {
-    $this->fixture('Class_Article',
+    $meta =
+      $this->fixture(Class_CustomField_Meta::class,
+                     ['id' => 1,
+                      'label' => 'Public',
+                      'field_type' => Class_CustomField_Meta::MULTI_CHECKBOX,
+                      'options_list' => 'Ado;Adulte;Enfant',
+                      'indexable' => 1]);
+
+    $this->fixture(Class_CustomField::class,
+                   ['id' => 1,
+                    'priority' => 1,
+                    'meta' => $meta,
+                    'model' => 'Article']);
+
+    $this->fixture(Class_Article::class,
                    ['id' => 8080,
                     'titre' => 'Concert',
-                    'categorie' => $this->fixture('Class_ArticleCategorie',
+                    'categorie' => $this->fixture(Class_ArticleCategorie::class,
                                                   ['id' => 23,
                                                    'libelle' => 'A la Une']),
                     'auteur' => $this->_admin_bib,
@@ -536,6 +554,12 @@ class CmsControllerArticleDuplicateActionTest extends CmsControllerWithPermissio
                     'langue' => 'fr',
                     'tags' => 'concert;jazz',
                     'avis' => true]);
+
+    $this->fixture(Class_CustomField_Value::class,
+                   ['id' => 1,
+                    'model_id' => 8080,
+                    'custom_field_id' => 1,
+                    'value' => 'Ado']);
   }
 
 
@@ -561,6 +585,30 @@ class CmsControllerArticleDuplicateActionTest extends CmsControllerWithPermissio
   public function titreShouldBeDupliquerLArticleConcert() {
     $this->assertXPathContentContains('//h1', 'Dupliquer l\'article : Concert');
   }
+
+
+  /** @test */
+  public function fieldsetCustomFieldsShouldBePresent() {
+    $this->assertXPathContentContains('//form//fieldset//legend', 'Champs personnalisés');
+  }
+
+
+  /** @test */
+  public function publicAdulteShouldBePresent() {
+    $this->assertXPath('//form//input[@name="field_1[]"][@value="Adulte"]');
+  }
+
+
+  /** @test */
+  public function publicEnfantShouldBePresent() {
+    $this->assertXPath('//form//input[@name="field_1[]"][@value="Enfant"]');
+  }
+
+
+  /** @test */
+  public function publicAdoShouldBeChecked() {
+    $this->assertXPath('//form//input[@type="checkbox"][@checked][@name="field_1[]"][@value="Ado"]');
+  }
 }