diff --git a/application/modules/opac/controllers/AuthController.php b/application/modules/opac/controllers/AuthController.php
index 548939d463d3ad9a3273c2676b1321f5d76c0712..ab0fd1212384549051c40065669aa040692ae8fe 100644
--- a/application/modules/opac/controllers/AuthController.php
+++ b/application/modules/opac/controllers/AuthController.php
@@ -352,7 +352,6 @@ class AuthController extends ZendAfi_Controller_Action {
 
 
 	protected function newsletterRegisterUser($newsletter, $user) {
-
 		Class_NewsletterSubscription::newWith($newsletter, $user)
 			?	$this->view->message = $this->view->_('Vous avez bien été abonné à la newsletter: ').$newsletter->getTitre().$this->view->_(' avec l\'adresse suivante: ').$user->getMail()
 			: $this->view->message = $this->view->_('Erreur lors de l\inscription à la newsletter.');
diff --git a/library/Class/Users.php b/library/Class/Users.php
index 915cbb2d3520210ef49e8239269d6e6262f641b5..c7de62502ea216c40774bd8bb1512835422d62e3 100644
--- a/library/Class/Users.php
+++ b/library/Class/Users.php
@@ -1153,9 +1153,10 @@ class Class_Users extends Storm_Model_Abstract {
 		if(!$this->isNew())
 			return $this;
 
-		$newletters = Class_Newsletter::findAllBy(['auto_subscribe'=>true]);
-		$this->setNewsletters($newletters);
-
+		if($this->getRoleLevel() > ZendAfi_Acl_AdminControllerRoles::INVITE){
+			$newletters = Class_Newsletter::findAllBy(['auto_subscribe'=>true]);
+			$this->setNewsletters($newletters);
+		}
 	}
 
 
diff --git a/tests/application/modules/opac/controllers/AuthControllerTest.php b/tests/application/modules/opac/controllers/AuthControllerTest.php
index 16e07f7b236fd28ead281dbabaa6322b122deb85..78fb7e2330884cb1dc32d9a7aeae978b34741c65 100644
--- a/tests/application/modules/opac/controllers/AuthControllerTest.php
+++ b/tests/application/modules/opac/controllers/AuthControllerTest.php
@@ -1795,6 +1795,8 @@ class AuthControllerNewsletterActiveUserTest extends AuthControllerNoBodyLoggedT
 
 		Class_NewsletterSubscription::beVolatile();
 
+		Class_Users::beVolatile();
+
 		$this->fixture('Class_Newsletter',[
 			'id' => 1,
 			'titre' => 'News of the month']);
@@ -2004,4 +2006,51 @@ class AuthControllerNewsletterRegisterSendMailWrongMailConfigurationTest extends
 		$this->assertXPathContentContains('//span[@class="error"]', 'Une erreur est survenue à l\'envoi du mail de confirmation. Veuillez réessayer. Si le problème persiste, veuillez contacter votre médiathèque.');
 	}
 }
+
+
+
+class AuthControllerNewsletterRegisterWithAutoSubscribeNewsletterTest extends AbstractControllerTestCase {
+	public function setUp() {
+		parent::setUp();
+		Class_NewsletterSubscription::beVolatile();
+		Class_Users::beVolatile();
+		$this->fixture('Class_UsersNonValid', [
+																					 'id' => 1,
+																					 'login' => 'future@i.am',
+																					 'mail' => 'future@i.am',
+																					 'password' => 'random',
+																					 'cle' => '12345678']);
+
+		$daily_news = $this->fixture('Class_Newsletter',
+																 ['id' => 1,
+																	'titre' => 'Daily News']);
+
+		$daily_news->setAutoSubscribe(true)->save();
+
+		$weekly_news = $this->fixture('Class_Newsletter',
+																	['id' => 2,
+																	 'titre' => 'Weekly News']);
+
+		$this->dispatch('opac/auth/newsletter-active-user/c/12345678/id/1', true);
+	}
+
+
+	/** @test */
+	public function onlyOneSubscriptionsShouldBeSaved() {
+		$this->assertEquals(1, count(Class_NewsletterSubscription::findAll()));
+
+	}
+
+
+	/** @test */
+	public function newsletterSubscriptionShouldContainsDailyNewsNews() {
+		$this->assertEquals('Daily News', Class_NewsletterSubscription::find(1)->getNewsletter()->getTitre());
+	}
+
+
+	/** @test */
+	public function messageShouldBeAsExpected() {
+		$this->assertXPathContentContains('//p', "Vous avez bien été abonné à la newsletter");
+	}
+}
 ?>
\ No newline at end of file