diff --git a/lib/IdPAccountManager/WebRequest.pm b/lib/IdPAccountManager/WebRequest.pm
index 970530474c96aafd7d94f19b14dd45e73a9a673e..ef1b628fe9765fc3a4a7bd8727d7072f0c3bbba9 100755
--- a/lib/IdPAccountManager/WebRequest.pm
+++ b/lib/IdPAccountManager/WebRequest.pm
@@ -7,6 +7,7 @@ use CGI;
 use English qw(-no_match_vars);
 use Template;
 use Log::Any::Adapter;
+use List::MoreUtils qw(uniq);
 
 use IdPAccountManager::Data::TestAccount;
 use IdPAccountManager::Data::AuthenticationToken;
@@ -277,7 +278,7 @@ sub req_select_sp {
 
         # complete persistent object
         $provider->displayname($sp->{display_name});
-        $provider->contacts(map { $_->{EmailAddress} } @{$sp->{contacts}})
+        $provider->contacts(uniq map { $_->{EmailAddress} } @{$sp->{contacts}})
             if $sp->{contacts};
 
         # save in DB