diff --git a/application/modules/admin/controllers/AccueilController.php b/application/modules/admin/controllers/AccueilController.php
index 547bb2c5d789635d43d4bb9fa4fe4b7999f690d2..d6b979c4e34eaf9d61ca08bbe9111156cb1f5fad 100644
--- a/application/modules/admin/controllers/AccueilController.php
+++ b/application/modules/admin/controllers/AccueilController.php
@@ -104,7 +104,16 @@ class Admin_AccueilController extends Zend_Controller_Action {
 	}
 
 
+	public function preprocessSitoCategories() {
+		if ((int)$this->_getParam('type_aff',0)!=3)
+			return;
+
+		if ($categories=explode('-',$this->_getParam('id_categorie')))
+			$this->_setParam('id_categorie',$categories[0]);
+
+	}
 	public function sitothequeAction() {
+		$this->preprocessSitoCategories();
 		$this->_simpleAction('SITO');
 	}
 
@@ -380,7 +389,7 @@ class Admin_AccueilController extends Zend_Controller_Action {
 		// pour combo des annexes
 		$this->view->ya_annexes = fetchAll("select count(*) from codif_annexe where invisible=0 order by libelle");
 		if ($this->_request->isPost())
-			$this->_updateEtRetour($this->_request->getPost(), $type);
+			$this->_updateEtRetour($this->_getAllParams(), $type);
 	}
 
 
diff --git a/tests/application/modules/admin/controllers/AccueilControllerTest.php b/tests/application/modules/admin/controllers/AccueilControllerTest.php
index b9958afdbc6a0c7643d5b523fd8daf06f1d08adf..86e0ff1bd25d57bc8b037f270fa1506380a37ec0 100644
--- a/tests/application/modules/admin/controllers/AccueilControllerTest.php
+++ b/tests/application/modules/admin/controllers/AccueilControllerTest.php
@@ -209,6 +209,50 @@ class AccueilControllerConfigCalendrierTest extends Admin_AbstractControllerTest
 
 
 
+class AccueilControllerConfigSitothequePostTest extends Admin_AbstractControllerTestCase {
+	public function setUp() {
+		parent::setUp();
+		Class_Profil::beVolatile();
+		Class_Profil::getCurrentProfil()
+			->updateModuleConfigAccueil(25,
+																	array('type_module' => 'SITO',
+																				'division' => 1,
+																				'id_module' => 25,
+																				'preferences' => ['id_items' => '12-13']));
+
+	}
+
+
+	/** @test */
+	public function selectHierachicalDisplayShouldSaveOnlyFirstCategory() {
+		$this->postDispatch('/admin/accueil/sitotheque?config=accueil&id_profil=1&type_module=SITO&id_module=25',
+												[
+												 'type_aff' => 3,
+												 'nb_aff' => 2,
+												 'group_by_categorie' => 0,
+												 'id_categorie' => '12-17'
+												]);
+
+		$this->assertEquals('12',Class_Profil::find(1)->getModuleAccueilConfig(25,'SITO')['preferences']['id_categorie']);
+
+	}
+
+	/** @test */
+	public function selectHierachicalDisplayWithEmptyCategoriesShouldSaveOnlyFirstCategory() {
+		$this->postDispatch('/admin/accueil/sitotheque?config=accueil&id_profil=1&type_module=SITO&id_module=25',
+												[
+												 'type_aff' => 3,
+												 'nb_aff' => 2,
+												 'group_by_categorie' => 0,
+												 'id_categorie' => ''
+												]);
+
+		$this->assertEquals('',Class_Profil::find(1)->getModuleAccueilConfig(25,'SITO')['preferences']['id_categorie']);
+
+	}
+
+
+}
 class AccueilControllerConfigSitothequeDefaultsTest extends Admin_AbstractControllerTestCase {
 	public function setUp() {
 		parent::setUp();