diff --git a/cosmogramme/php/classes/classe_unimarc.php b/cosmogramme/php/classes/classe_unimarc.php
index ef5a20530f8ebe56850fb4d0b0babbe7066e67c9..020c9cb3f7ad189f555f51b6f9ba3fc44c1fc0e1 100644
--- a/cosmogramme/php/classes/classe_unimarc.php
+++ b/cosmogramme/php/classes/classe_unimarc.php
@@ -366,7 +366,7 @@ class notice_unimarc extends iso2709_record {
 							$ex['ignore_exemplaire'] = true;
 					}
 
-					if ($champ_emplacement and strtolower($champ['code']) == $champ_emplacement) {
+					if ($champ_emplacement and $champ['code'] == $champ_emplacement) {
 						$ex['emplacement'] = $this->getIdCodeExemplaire('emplacement', '995', $champ_emplacement, $champ['valeur']);
 
 						if (trim($ex['emplacement'])
diff --git a/cosmogramme/tests/php/classes/NoticeIntegrationTest.php b/cosmogramme/tests/php/classes/NoticeIntegrationTest.php
index 6da4db6044117c0661e898c9114368c13b5f0384..7a8071c8d7ff2af9654aa669deec4d35b424209e 100644
--- a/cosmogramme/tests/php/classes/NoticeIntegrationTest.php
+++ b/cosmogramme/tests/php/classes/NoticeIntegrationTest.php
@@ -1821,4 +1821,50 @@ class NoticeIntegration11septembre2001Test extends NoticeIntegrationTestCase {
 		$notice = Class_Notice::find(1);
 		$this->assertEquals(21, $notice->getTypeDoc());
 	}
+}
+
+
+
+/** @see http://forge.afi-sa.fr/issues/15989 */
+class NoticeIntegrationMarioCartWiiTest extends NoticeIntegrationTestCase {
+	public function getProfilDonnees() {
+		$profil = Class_IntProfilDonnees::forAstrolab()->setIdProfil(110);
+		return $profil->getRawAttributes();
+	}
+
+
+	public function setUp() {
+		parent::setUp();
+		$this->fixture('Class_CodifEmplacement',
+									 ['id' => 3, 'libelle' => 'Art', 'regles' => '995$u=ART']);
+		$this->fixture('Class_CodifEmplacement',
+									 ['id' => 8, 'libelle' => 'Enfance', 'regles' => '995$u=ENF']);
+
+		$this->loadNotice('unimarc_mario_kart');
+		$this->items = Class_Notice::findFirstBy([])->getExemplaires();
+	}
+
+
+	/** @test */
+	public function firstItemLocationShouldBeSet() {
+		$this->assertItemLocation($this->items[0], 3);
+	}
+
+
+	/** @test */
+	public function secondItemLocationShouldBeSet() {
+		$this->assertItemLocation($this->items[1], 8);
+	}
+
+
+	/** @test */
+	public function thirdItemLocationShouldBeSet() {
+		$this->assertItemLocation($this->items[2], 3);
+	}
+
+
+	protected function assertItemLocation($item, $location) {
+		$this->assertEquals($location, $item->getEmplacement(),
+												json_encode($item->getRawAttributes()));
+	}
 }
\ No newline at end of file
diff --git a/cosmogramme/tests/php/classes/unimarc_mario_kart.txt b/cosmogramme/tests/php/classes/unimarc_mario_kart.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ad8a2ffd4490e89dd768f2b9a08c50c9f0dcfe8f
--- /dev/null
+++ b/cosmogramme/tests/php/classes/unimarc_mario_kart.txt
@@ -0,0 +1 @@
+01963nlm0 2200373   450 0010008000000710027000080710025000350710029000601000041000892000040001302100019001702150045001892300015002343000073002493000013003223000024003353040047003593300477004063330016008833370215008993450018011145000031011326060025011636060031011886060044012196060080012636760010013437100031013538010027013848300024014119950050014359950052014859950052015372954036||bNintendoaRVL-006(EUR)||bNintendoaRVL P RMCP||bNintendoaRVL-RMCP-EUR-1  a|||||||||2008||||am|||||||||||||||||| aMario Kart WiibJEU VIDEOfNintendo  cNintendod2008  a1 disquee1 manuel d'utilisation (34 p.)  aJeu vidÂeo  aJeu solo et multijoueur (1-4 joueurs - jusqu'Áa 12 joueurs en ligne)  aPEGI : 3  aJeu compatible WiFi  aTitre provenant de l'Âetiquette du support  aMario Kart Wii est le sixiÁeme volet de la fameuse sÂerie de Nintendo. Les courses de karting prennent ici des allures de folie avec pas moins de 12 participants en lice. Parmi les nouveautÂes, cet Âepisode ajoute la possibilitÂe de jouer en ligne via la Wi-Fi Connection et de piloter des motos en plus des karts habituels. De nouvelles options font aussi leur apparition et le soft est vendu avec un volant, le Wii Wheel, qui renouvelle habilement les sensations de jeu.  atout public  aConfiguration requise : Console Nintendo Wii ; tÂelÂeviseur standard (compatible 50Hz et 60Hz, EDTV et HDTV) ; tÂelÂecommande Wii ; nunchuk Wii ; compatible volants, manettes classiques pro et manettes Gamecube  b0045496367701||32953260aMarioqMario Kart| 31118814aJeux vidÂeo| 32949998aWii (Jeux vidÂeo)| 32948776aJeux de pilotage (Jeux vidÂeo)| 32948776aJeux de pilotage (Jeux vidÂeo)30000207xOuvrages pour la jeunesse  a394.8||32953259aNintendo co.4635 0aFRbBM Melunc20130215  aClÂe d'activation :  f37701005798203rJVuARTaMEDqADUkJV WII MAR  f37701005782976rJVuENFUaMEDqJEUkJV WII MAR  f37701005785598rJVuARTUaMEDqADUkJV WII MAR
\ No newline at end of file
diff --git a/library/Class/IntProfilDonnees.php b/library/Class/IntProfilDonnees.php
index 7c2d4de4004443d72f4372243763ac13ed092745..f93040ba03349ea48f94f81615ec1783355f4d9b 100644
--- a/library/Class/IntProfilDonnees.php
+++ b/library/Class/IntProfilDonnees.php
@@ -95,49 +95,98 @@ class Class_IntProfilDonnees extends Storm_Model_Abstract {
 
 
 	public static function forALOES() {
-		return self::newInstance(
-														 ['libelle' => 'Unimarc Aloes',
+		$type_doc = [['code' => '0', 'label' => '', 'zone_995' => ''],
+								 ['code' => '1', 'label' => 'am;na', 'zone_995' => 'LIV;MS;az'],
+								 ['code' => '2', 'label' => 'as', 'zone_995' => 'PER;uu'],
+								 ['code' => '3', 'label' => 'i;j', 'zone_995' => 'CD;LIVCD;LIVK7;K7'],
+								 ['code' => '4', 'label' => 'g','zone_995' => 'DIAPO;DVD;VHS;VHD;VD;ge'],
+								 ['code' => '5', 'label' => 'l;m', 'zone_995' => 'CDR;le'],
+								 ['code' => '6', 'label' => '', 'zone_995' => 'LCD'],
+								 ['code' => '7', 'label' => '', 'zone_995' => 'CAR'],
+								 ['code' => '8', 'label' => '', 'zone_995' => 'PAD'],
+								 ['code' => '9', 'label' => '', 'zone_995' => 'WEB;MF'],
+								 ['code' => '10', 'label' => '', 'zone_995' => 'BRD'],
+								 ['code' => '11', 'label' => '', 'zone_995' => 'PAR']];
+
+		return self::newInstance(['libelle' => 'Unimarc Aloes',
 															'accents' => self::ENCODING_ISO2709,
 															'rejet_periodiques' =>  '1',
 															'id_article_periodique' => self::SERIAL_FORMAT_ALOES_INDEXPRESS,
 															'type_fichier' => self::FT_RECORDS,
 															'format' => self::FORMAT_UNIMARC,
 															'attributs' => [
-																							['type_doc' =>  [
-																															 [ 'code' => '0', 'label' => '', 'zone_995' => '' ],
-																															 [ 'code' => '1', 'label' => 'am;na', 'zone_995' => 'LIV;MS;az' ],
-																															 [ 'code' => '2', 'label' => 'as', 'zone_995' => 'PER;uu'],
-																															 [ 'code' => '3', 'label' => 'i;j', 'zone_995' => 'CD;LIVCD;LIVK7;K7'],
-																															 [ 'code' => '4', 'label' => 'g','zone_995' => 'DIAPO;DVD;VHS;VHD;VD;ge'],
-																															 [ 'code' => '5', 'label' => 'l;m', 'zone_995' => 'CDR;le'],
-																															 [ 'code' => '6', 'label' => '', 'zone_995' => 'LCD' ],
-																															 [ 'code' => '7', 'label' => '', 'zone_995' => 'CAR' ],
-																															 [ 'code' => '8', 'label' => '', 'zone_995' => 'PAD'],
-																															 [ 'code' => '9', 'label' => '', 'zone_995' => 'WEB;MF'],
-																															 [ 'code' => '10', 'label' => '', 'zone_995' => 'BRD'],
-																															 [ 'code' => '11', 'label' => '', 'zone_995' => 'PAR']
-																								],
+																							['type_doc' => $type_doc,
 																							 'champ_code_barres' => 'f',
 																							 'champ_cote' => 'k',
 																							 'champ_type_doc' => '',
 																							 'champ_genre' => '',
 																							 'champ_section' => 'q',
 																							 'champ_emplacement' => 'l',
-																							 'champ_annexe' => 'b'
-																							],
+																							 'champ_annexe' => 'b'],
 																							['zone' => '995',
 																							 'champ' => 'v',
 																							 'format' => self::NOVELTY_DATE_FORMAT_VALUES,
 																							 'jours' => '',
-																							 'valeurs' => 'nouveaute']
-															]
-														 ]
-		);
+																							 'valeurs' => 'nouveaute']]]);
 	}
 
 
+	public static function forAstrolab() {
+		$type_doc = [['code' => '0', 'label' => '', 'zone_995' => ''],
+								 ['code' => '1', 'label' => 'am', 'zone_995' => 'LIV;MS'],
+								 ['code' => '2', 'label' => 'as', 'zone_995' => 'PER'],
+								 ['code' => '3', 'label' => 'i;j;jm;im', 'zone_995' => 'CD;LIVCD;LIVK7;K7;CDL'],
+								 ['code' => '4', 'label' => 'g','zone_995' => 'DIAPO;DVD;VHS;VHD;VD;BRD'],
+								 ['code' => '5', 'label' => 'l;m;', 'zone_995' => 'CDR;'],
+								 ['code' => '6', 'label' => 'c;d', 'zone_995' => 'PAR' ],
+								 ['code' => '7', 'label' => 'f;k;em', 'zone_995' => 'PHOTO;EST;EKTA;CPL;CP' ],
+								 ['code' => '8', 'label' => 'aa', 'zone_995' => 'DOS'],
+								 ['code' => '11', 'label' => '', 'zone_995' => 'WEB'],
+								 ['code' => '12', 'label' => '', 'zone_995' => 'JV'],
+								 ['code' => '13', 'label' => '', 'zone_995' => 'MM']];
+
+		return self::newInstance(['libelle' => 'Unimarc Aloes',
+															'accents' => self::ENCODING_ISO2709,
+															'rejet_periodiques' =>  '1',
+															'id_article_periodique' => self::SERIAL_FORMAT_ALOES_INDEXPRESS,
+															'type_fichier' => self::FT_RECORDS,
+															'format' => self::FORMAT_UNIMARC,
+															'attributs' => [
+																							['type_doc' => $type_doc,
+																							 'champ_code_barres' => 'f',
+																							 'champ_cote' => 'k',
+																							 'champ_type_doc' => 'r',
+																							 'champ_genre' => '',
+																							 'champ_section' => 'q',
+																							 'champ_emplacement' => 'u',
+																							 'champ_annexe' => 'a'],
+																							['zone' => '922',
+																							 'champ' => 'c',
+																							 'format' => self::NOVELTY_DATE_FORMAT_SLASHED_JMAAAA,
+																							 'jours' => '',
+																							 'valeurs' => '']]]);
+	}
+
 
 	public static function forKoha() {
+		$type_doc = [['code' => '0',  'label' => '',       'zone_995' => 'IND' ],
+								 ['code' => '1',  'label' => 'am;na',  'zone_995' => 'LIV;LIVJ;LIVA;DOC;MANUEL' ],
+								 ['code' => '2',  'label' => 'as',     'zone_995' => 'REV;REVA;REVJ;'],
+								 ['code' => '3',  'label' => 'i;j',    'zone_995' => 'CD'],
+								 ['code' => '4',  'label' => 'g',      'zone_995' => 'DVD;JDVD;DVDA;DVDJ;VID'],
+								 ['code' => '5',  'label' => 'l;m',    'zone_995' => 'CDROM;CDR'],
+								 ['code' => '6',  'label' => '',       'zone_995' => 'LCD' ],
+								 ['code' => '7',  'label' => '',       'zone_995' => 'PAR;JPAR;' ],
+								 ['code' => '8',  'label' => '',       'zone_995' => ''],
+								 ['code' => '9',  'label' => '',       'zone_995' => ''],
+								 ['code' => '10', 'label' => ' ',      'zone_995' => ''],
+								 ['code' => '11', 'label' => '',       'zone_995' => 'JVID'],
+								 ['code' => '12', 'label' => '',       'zone_995' => 'MAT'],
+								 ['code' => '13', 'label' => 'km',     'zone_995' => 'EST'],
+								 ['code' => '14', 'label' => '',       'zone_995' => 'TLU'],
+								 ['code' => '15', 'label' => '',       'zone_995' => 'CAR'],
+								 ['code' => '16', 'label' => '',       'zone_995' => 'DIS']];
+
 		return self::newInstance(
 														 ['libelle' => 'Unimarc Koha',
 															'accents' => self::ENCODING_UTF8,
@@ -146,25 +195,7 @@ class Class_IntProfilDonnees extends Storm_Model_Abstract {
 															'type_fichier' => self::FT_RECORDS,
 															'format' => self::FORMAT_UNIMARC,
 															'attributs' => [
-																							['type_doc' =>  [
-																															 [ 'code' => '0',  'label' => '',       'zone_995' => 'IND' ],
-																															 [ 'code' => '1',  'label' => 'am;na',  'zone_995' => 'LIV;LIVJ;LIVA;DOC;MANUEL' ],
-																															 [ 'code' => '2',  'label' => 'as',     'zone_995' => 'REV;REVA;REVJ;'],
-																															 [ 'code' => '3',  'label' => 'i;j',    'zone_995' => 'CD'],
-																															 [ 'code' => '4',  'label' => 'g',      'zone_995' => 'DVD;JDVD;DVDA;DVDJ;VID'],
-																															 [ 'code' => '5',  'label' => 'l;m',    'zone_995' => 'CDROM;CDR'],
-																															 [ 'code' => '6',  'label' => '',       'zone_995' => 'LCD' ],
-																															 [ 'code' => '7',  'label' => '',       'zone_995' => 'PAR;JPAR;' ],
-																															 [ 'code' => '8',  'label' => '',       'zone_995' => ''],
-																															 [ 'code' => '9',  'label' => '',       'zone_995' => ''],
-																															 [ 'code' => '10', 'label' => ' ',      'zone_995' => ''],
-																															 [ 'code' => '11', 'label' => '',       'zone_995' => 'JVID'],
-																															 [ 'code' => '12', 'label' => '',       'zone_995' => 'MAT'],
-																															 [ 'code' => '13', 'label' => 'km',     'zone_995' => 'EST'],
-																															 [ 'code' => '14', 'label' => '',       'zone_995' => 'TLU'],
-																															 [ 'code' => '15', 'label' => '',       'zone_995' => 'CAR'],
-																															 [ 'code' => '16', 'label' => '',       'zone_995' => 'DIS']
-																								],
+																							['type_doc' => $type_doc,
 																							 'champ_code_barres' => 'f',
 																							 'champ_cote' => 'k',
 																							 'champ_type_doc' => 'r',