diff --git a/bin/update-metadata.in b/bin/update-metadata.in
index 1e3832b55b92be744d03431e053004e74bc98e05..4e1609f686406c0b8e232f5f49264999f353593f 100755
--- a/bin/update-metadata.in
+++ b/bin/update-metadata.in
@@ -14,7 +14,7 @@ use Pod::Usage;
 
 use AccountManager::DB;
 use AccountManager::Metadata;
-use AccountManager::ServiceProvider;
+use AccountManager::Entity;
 
 my %options;
 GetOptions(
@@ -48,7 +48,7 @@ my $ua = LWP::UserAgent->new();
 
 $db->begin_work();
 
-AccountManager::ServiceProvider->delete_service_providers(all => 1);
+AccountManager::Entity->delete_entities(all => 1);
 
 my %seen;
 foreach my $id (split(/, */, $configuration->{groups}->{list})) {
@@ -89,7 +89,7 @@ foreach my $id (split(/, */, $configuration->{groups}->{list})) {
         # avoid duplicates
         next if $seen{$entry->{entityid}}++;
 
-        my $entity = AccountManager::ServiceProvider->new(
+        my $entity = AccountManager::Entity->new(
             db           => $db,
             entityid     => $entry->{entityid},
             displayname  => $entry->{display_name},
diff --git a/conf/manager.sql b/conf/manager.sql
index c373dbe5a5e89231cbbc11ed2ca3fd7f05cef64a..322924a29a68cae3b9f4413f204a44ba62306e16 100644
--- a/conf/manager.sql
+++ b/conf/manager.sql
@@ -11,7 +11,7 @@ CREATE TABLE tokens (
     CONSTRAINT token_email_entity UNIQUE (email_address(50),sp_entityid(50))
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
-CREATE TABLE services (
+CREATE TABLE entities (
     id bigint(20) NOT NULL AUTO_INCREMENT,
     entityid varchar(200) NOT NULL,
     url varchar(200) DEFAULT NULL,
diff --git a/lib/AccountManager/App.pm b/lib/AccountManager/App.pm
index ff5f2d06d746a9a5f94c3a6629e5fb1bda1c57a8..6f93a70247cc7920c01d8f1344c72a3c476224c9 100644
--- a/lib/AccountManager/App.pm
+++ b/lib/AccountManager/App.pm
@@ -15,7 +15,7 @@ use UNIVERSAL::require;
 
 use AccountManager::Account;
 use AccountManager::Metadata;
-use AccountManager::ServiceProvider;
+use AccountManager::Entity;
 use AccountManager::Token;
 use AccountManager::Tools;
 use AccountManager::L10N;
@@ -346,7 +346,7 @@ sub req_select_email {
     my $federation = $self->get_parameter(name => 'federation');
 
     # Create a persistent service provider object
-    my $sp = AccountManager::ServiceProvider->new(
+    my $sp = AccountManager::Entity->new(
         db       => $self->{db},
         entityid => $entityid
     );
@@ -423,7 +423,7 @@ sub req_complete_challenge {
     my $entityid   = $self->get_parameter(name => 'entityid');
     my $email      = $self->get_parameter(name => 'email');
 
-    my $sp = AccountManager::ServiceProvider->new(
+    my $sp = AccountManager::Entity->new(
         db       => $self->{db},
         entityid => $entityid,
     );
@@ -612,7 +612,7 @@ sub req_create_accounts {
 
     $self->check_token(token => $token, entityid => $entityid);
 
-    my $sp = AccountManager::ServiceProvider->new(
+    my $sp = AccountManager::Entity->new(
         db       => $self->{db},
         entityid => $entityid,
     );
diff --git a/lib/AccountManager/ServiceProvider.pm b/lib/AccountManager/Entity.pm
similarity index 82%
rename from lib/AccountManager/ServiceProvider.pm
rename to lib/AccountManager/Entity.pm
index c501112b324edbbbde3ff706ed50158220d1c5e6..1005691b14613e30d6339df568daef073992e4fc 100644
--- a/lib/AccountManager/ServiceProvider.pm
+++ b/lib/AccountManager/Entity.pm
@@ -1,4 +1,4 @@
-package AccountManager::ServiceProvider;
+package AccountManager::Entity;
 
 use strict;
 use warnings;
@@ -9,7 +9,7 @@ use List::MoreUtils qw(any);
 use Rose::DB::Object::Manager;
 
 __PACKAGE__->meta->setup(
-    table   => 'services',
+    table   => 'entities',
 
     columns => [
         id          => { type => 'bigserial', not_null => 1 },
@@ -24,14 +24,14 @@ __PACKAGE__->meta->setup(
     unique_key => [ 'entityid' ],
 );
 
-Rose::DB::Object::Manager->make_manager_methods('service_providers');
+Rose::DB::Object::Manager->make_manager_methods('entities');
 
 sub print {
     my ($self, $fd) = @_;
     $fd = \*STDOUT unless $fd;
 
     printf $fd
-        "Service ID=%s; entityid=%s; displayname=%s; contacts=%s\n",
+        "Entity ID=%s; entityid=%s; displayname=%s; contacts=%s\n",
         $self->id(),
         $self->entityid(),
         $self->displayname() || '',
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 3fb5a3500f1c5d96ca94cf210fbc9af160848dfc..d2550afd3c42801c152c028ca7e70c5bdcdb02ee 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,7 +5,7 @@ nobase_modules_DATA = \
 	AccountManager/DB.pm \
 	AccountManager/DB/Object.pm \
 	AccountManager/Metadata.pm \
-	AccountManager/ServiceProvider.pm \
+	AccountManager/Entity.pm \
 	AccountManager/Account.pm \
 	AccountManager/Tools.pm \
 	AccountManager/L10N.pm \