diff --git a/cosmogramme/php/classes/classe_abonne.php b/cosmogramme/php/classes/classe_abonne.php
index e1d43ce9482751e54a24b63aeec9a385233ff698..b35672679ac95ee728fbe9eb375acd79ccb4be65 100644
--- a/cosmogramme/php/classes/classe_abonne.php
+++ b/cosmogramme/php/classes/classe_abonne.php
@@ -101,7 +101,7 @@ class abonne
 
     if (isset($enreg['MAIL']))
       $enreg['MAIL'] = $this->clean_email($enreg['MAIL']);
-		$this->saveorUpdateInDB($enreg);
+		$this->saveOrUpdateInDB($enreg);
 	}
 
 
@@ -146,10 +146,10 @@ class abonne
 
 	protected function saveOrUpdateInDB($data){
     $new_user = Class_Users::newInstance($data);
-    $bib = Class_IntBib::find($data['ID_SITE']);
+    $bib = Class_IntBib::find($this->id_bib);
 
-		if(!$user = Class_Users::findMatchingPatron($user,$bib))
-       $user = $new_user;
+		if(!$user = Class_Users::findMatchingPatron($new_user,$bib))
+      $user = $new_user;
 
 		$user
 			->updateAttributes($data)
@@ -164,12 +164,12 @@ class abonne
 		if(!trim($chaine)) return $chaine;
 		switch($this->type_accents)
 			{
-			case 2: // Windows
-				return utf8_encode($chaine);
-			case 3: // Dos
-				for($i=0; $i < strlen($chaine); $i++) $new.=$this->dosDecode($chaine[$i]);
-				return utf8_encode($new);
-			default: return $chaine;
+        case 2: // Windows
+          return utf8_encode($chaine);
+        case 3: // Dos
+          for($i=0; $i < strlen($chaine); $i++) $new.=$this->dosDecode($chaine[$i]);
+          return utf8_encode($new);
+        default: return $chaine;
 			}
 	}
 
@@ -178,24 +178,24 @@ class abonne
 	{
 		switch($char)
 			{
-			case 0xe9: $result = 'é';	break ;
-			case 0xe8: $result = 'è';	break ;
-			case 0xeb: $result = 'ë';	break ;
-			case 0xe4: $result = 'ä';	break ;
-			case 0xe2: $result = 'â';	break ;
-			case 0xef: $result = 'ï';	break ;
-			case 0xcf: $result = 'Ï';	break ;
-			case 0xee: $result = 'î';	break ;
-			case 0xce: $result = 'ÃŽ';	break ;
-			case 0xf4: $result = 'ô';	break ;
-			case 0xf6: $result = 'ö';	break ;
-			case 0xd6: $result = 'Ö';	break ;
-			case 0xfc: $result = 'ü';	break ;
-			case 0xdc: $result = 'Ü';	break ;
-			case 0xfb: $result = 'û';	break ;
-			case 0xe7: $result = 'ç';	break ;
-			case 0xc7: $result = 'Ç';	break ;
-			default: $result = $char;	break;
+        case 0xe9: $result = 'é';	break ;
+        case 0xe8: $result = 'è';	break ;
+        case 0xeb: $result = 'ë';	break ;
+        case 0xe4: $result = 'ä';	break ;
+        case 0xe2: $result = 'â';	break ;
+        case 0xef: $result = 'ï';	break ;
+        case 0xcf: $result = 'Ï';	break ;
+        case 0xee: $result = 'î';	break ;
+        case 0xce: $result = 'ÃŽ';	break ;
+        case 0xf4: $result = 'ô';	break ;
+        case 0xf6: $result = 'ö';	break ;
+        case 0xd6: $result = 'Ö';	break ;
+        case 0xfc: $result = 'ü';	break ;
+        case 0xdc: $result = 'Ü';	break ;
+        case 0xfb: $result = 'û';	break ;
+        case 0xe7: $result = 'ç';	break ;
+        case 0xc7: $result = 'Ç';	break ;
+        default: $result = $char;	break;
 			}
 		return $result;
 	}
diff --git a/cosmogramme/tests/php/classes/AbonneIntegrationTest.php b/cosmogramme/tests/php/classes/AbonneIntegrationTest.php
index 4e75bbe0df6483827ed5a92a3adf5c103b4fec6f..a87233b74fc0579bb75715c573fe2d1a0889457f 100644
--- a/cosmogramme/tests/php/classes/AbonneIntegrationTest.php
+++ b/cosmogramme/tests/php/classes/AbonneIntegrationTest.php
@@ -25,11 +25,16 @@ require_once 'ModelTestCase.php';
 
 
 abstract class AbonneIntegrationTestCase extends ModelTestCase {
-	protected $abon_config;
+	protected $abon_config,
+    $_storm_default_to_volatile = true;
 
 	public function setup(){
 		parent::setup();
-		Storm_Model_Loader::defaultToVolatile();
+
+    $this->fixture('Class_IntBib',
+                   ['id' => 2,
+                    'id_bib' => 2]);
+
 		$this->abon_config = new abonne();
 		$this->abon_config->setIdBib(2);
 	}
@@ -221,6 +226,8 @@ class AbonneIntegrationASCIIWithRoutoInDbTest extends AbonneIntegrationTestCase
 																			 ['id' => 5,
 																				'nom'=>'Routo',
 																				'prenom'=>'Pierre',
+                                        'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB,
+                                        'idabon' => '123456',
 																				'login'=>'5  5',
 																				'id_site' => 2,
 																				'pseudo' => 'riri',
diff --git a/tests/application/modules/opac/controllers/AuthControllerTest.php b/tests/application/modules/opac/controllers/AuthControllerTest.php
index 5cad398b109fb1fde3c2c3a44befecb9e3aa2096..d633addafb52d3283fe5ce1bb778d2d1ab6e78f2 100644
--- a/tests/application/modules/opac/controllers/AuthControllerTest.php
+++ b/tests/application/modules/opac/controllers/AuthControllerTest.php
@@ -2265,6 +2265,8 @@ class AuthControllerPostWithSameIdSigbTest extends AbstractControllerTestCase {
   public function setUp() {
     parent::setUp();
 
+    ZendAfi_Auth::getInstance()->clearIdentity();
+
     $emprunteur = Class_WebService_SIGB_Emprunteur::newInstance(789, 'koha');
     $emprunteur->setPassword('bar');
     $emprunteur->beValid();
@@ -2283,16 +2285,20 @@ class AuthControllerPostWithSameIdSigbTest extends AbstractControllerTestCase {
     Class_WebService_SIGB_Koha::setService($params,
                                            $service);
 
-    ZendAfi_Auth::getInstance()->clearIdentity();
-
-    $this->fixture('Class_Bib',
-                   ['id' => 13,
-                    'libelle' => 'First library']);
-
     $this->fixture('Class_Bib',
                    ['id' => 56,
                     'libelle' => 'Library']);
 
+    $this->fixture('Class_IntBib',
+                   ['id' => 56,
+                    'id_bib' => 56,
+                    'comm_sigb' => 5,
+                    'comm_params' => serialize($params)]);
+
+   $this->fixture('Class_Bib',
+                   ['id' => 13,
+                    'libelle' => 'First library']);
+
     $this->fixture('Class_Users',
                    ['id' => 123456,
                     'login' => 'different',
@@ -2311,12 +2317,6 @@ class AuthControllerPostWithSameIdSigbTest extends AbstractControllerTestCase {
                     'id_site' => 56,
                     'id_sigb' => null]);
 
-    $this->fixture('Class_IntBib',
-                          ['id' => 56,
-                           'id_bib' => 56,
-                           'comm_sigb' => 5,
-                           'comm_params' => serialize($params)]);
-
     $this->postDispatch('/opac/auth/login',
                         ['username' => 'foo',
                          'password' => 'bar']);