diff --git a/app/controllers/server/universities_controller.rb b/app/controllers/server/universities_controller.rb
index 9c0d352207cbb272306c99d1ee17a97bcab72a4a..95f23cae6cd3a5a2bbe98595fb72a9785e7a5ac8 100644
--- a/app/controllers/server/universities_controller.rb
+++ b/app/controllers/server/universities_controller.rb
@@ -57,6 +57,6 @@ class Server::UniversitiesController < Server::ApplicationController
   end
 
   def university_params
-    params.require(:university).permit(:name, :address, :zipcode, :city, :country, :private, :identifier, :logo, :logo_delete)
+    params.require(:university).permit(:name, :address, :zipcode, :city, :country, :private, :identifier, :logo, :logo_delete, :sms_sender_name)
   end
 end
diff --git a/app/models/university.rb b/app/models/university.rb
index a067650891a686f0f014fb1dc06478938e2cb7df..343c0f97045a655bc2e23de783c5d135dbbc1b5c 100644
--- a/app/models/university.rb
+++ b/app/models/university.rb
@@ -11,14 +11,12 @@
 #  mail_from_name    :string
 #  name              :string
 #  private           :boolean
+#  sms_sender_name   :string
 #  zipcode           :string
 #  created_at        :datetime         not null
 #  updated_at        :datetime         not null
 #
 class University < ApplicationRecord
-  validates_presence_of :name
-  scope :ordered, -> { order(:name) }
-
   include WithCommunication
   include WithEducation
   include WithIdentifier
@@ -27,6 +25,11 @@ class University < ApplicationRecord
 
   has_one_attached_deletable :logo
 
+  validates_presence_of :name
+  validates :sms_sender_name, presence: true, length: { maximum: 11 }
+
+  scope :ordered, -> { order(:name) }
+
   def to_s
     "#{name}"
   end
diff --git a/app/models/user/with_roles.rb b/app/models/user/with_roles.rb
index 8adc16e8fbe02c410c168759eaf644803f751a3f..2853b84432441b8b2156e8447d0cf11dc03df2c6 100644
--- a/app/models/user/with_roles.rb
+++ b/app/models/user/with_roles.rb
@@ -25,6 +25,7 @@ module User::WithRoles
     end
 
     def set_default_role
+      return if server_admin?
       if User.all.empty?
         self.role = :server_admin
       elsif university.users.not_server_admin.empty?
diff --git a/app/models/user/with_sync_between_universities.rb b/app/models/user/with_sync_between_universities.rb
index 64cfa3e15404238e757dd4f783a5841cdff22434..341601120e9246a27c9833dfe88b040c73182c80 100644
--- a/app/models/user/with_sync_between_universities.rb
+++ b/app/models/user/with_sync_between_universities.rb
@@ -3,7 +3,6 @@ module User::WithSyncBetweenUniversities
 
   included do
     after_save :sync_from_current_university, if: Proc.new { |user| user.server_admin? }
-    after_destroy :remove_from_all_universities, if: Proc.new { |user| user.server_admin? }
 
     def self.synchronize_server_admin_users(university_id)
       university = University.where.not(id: university_id).first
@@ -20,8 +19,8 @@ module User::WithSyncBetweenUniversities
           encrypted_password: self.encrypted_password,
           first_name: self.first_name,
           last_name: self.last_name,
-          mobile_phone: self.phone,
-          role: self.role
+          mobile_phone: self.mobile_phone,
+          role: :server_admin
         )
       end
     end
@@ -35,14 +34,11 @@ module User::WithSyncBetweenUniversities
     user.assign_attributes(university_id: university.id, picture_infos: nil,
                             password: "MyNewPasswordIs2Strong!", password_confirmation: "MyNewPasswordIs2Strong!",
                             reset_password_token: nil, unlock_token: nil, encrypted_otp_secret_key: nil,
-                            confirmation_token: Devise.friendly_token, confirmed_at: Time.now)
+                            confirmation_token: Devise.friendly_token, confirmed_at: Time.now,
+                            role: :server_admin)
     # as a new user must have a password and we can't access previous user password
     user.save
     user.update_column(:encrypted_password, self.encrypted_password) if user.valid?
   end
 
-  def remove_from_all_universities
-    User.destroy_by(email: email)
-  end
-
 end
diff --git a/app/services/sendinblue/sms_service.rb b/app/services/sendinblue/sms_service.rb
index f4a6f93bc9fa212591c042483b0a80e29144f94a..5c650ce63a9b7a318f07a941e5ee9728cc82be64 100644
--- a/app/services/sendinblue/sms_service.rb
+++ b/app/services/sendinblue/sms_service.rb
@@ -1,5 +1,7 @@
 module Sendinblue
   class SmsService
+    DEFAULT_SENDER_NAME = 'Osuny'.freeze
+
     def self.send_mfa_code(user, code)
       duration =  ActiveSupport::Duration.build(Rails.application.config.devise.direct_otp_valid_for).inspect
       message = "#{code} est votre code d'authentification sur #{user.university} (valide #{duration})"
@@ -9,9 +11,12 @@ module Sendinblue
     private
 
     def self.send_message(user, message)
+      sender_name = user.university.sms_sender_name
+      sender_name ||= DEFAULT_SENDER_NAME
+
       api_instance = SibApiV3Sdk::TransactionalSMSApi.new
       send_transac_sms = SibApiV3Sdk::SendTransacSms.new(
-        sender: user.university.name,
+        sender: sender_name,
         recipient: user.mobile_phone,
         content: message
       )
diff --git a/app/views/server/universities/_form.html.erb b/app/views/server/universities/_form.html.erb
index 40fe1882df8ba1b431adc1bba999715f863dcb8c..443cefdf3c807139cd657b41ff0734dbea5d4df9 100644
--- a/app/views/server/universities/_form.html.erb
+++ b/app/views/server/universities/_form.html.erb
@@ -4,6 +4,7 @@
       <%= f.input :name %>
       <%= f.input :identifier %>
       <%= f.input :private %>
+      <%= f.input :sms_sender_name %>
     </div>
     <div class="col-md-4">
       <%= f.input :address %>
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 7dc96a2190d568890f47dffd4fd9baa9eaa5f185..602f7cb050f24c5217f65a2806f6132851151d0d 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -14,6 +14,7 @@ fr:
         private: Etablissement privé
         public: Public
         public_or_private: Public/privé
+        sms_sender_name: Nom de l'expéditeur SMS
         url: 'URL'
         zipcode: Code postal
       user:
@@ -97,6 +98,8 @@ fr:
     error_notification:
       default_message: "Les erreurs ci-dessous empêchent la validation :"
     hints:
+      university:
+        sms_sender_name: "11 caractères maximum."
       user:
         mobile_phone: "Format international (+XX). En renseignant ce champ, vous acceptez de recevoir vos codes de double authentification par SMS."
   simple_form_password_with_hints:
diff --git a/db/migrate/20211019083328_add_sms_sender_name_to_universities.rb b/db/migrate/20211019083328_add_sms_sender_name_to_universities.rb
new file mode 100644
index 0000000000000000000000000000000000000000..f472a720f1dffbf1308147245c90d79d813a2336
--- /dev/null
+++ b/db/migrate/20211019083328_add_sms_sender_name_to_universities.rb
@@ -0,0 +1,5 @@
+class AddSmsSenderNameToUniversities < ActiveRecord::Migration[6.1]
+  def change
+    add_column :universities, :sms_sender_name, :string
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 727e7bf99053a2db0f6615790437b753875545fb..683a249f59f00cafadae14bb6a5d1fedb82aafaa 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -286,6 +286,7 @@ ActiveRecord::Schema.define(version: 2021_10_19_092503) do
     t.datetime "updated_at", precision: 6, null: false
     t.string "mail_from_name"
     t.string "mail_from_address"
+    t.string "sms_sender_name"
   end
 
   create_table "users", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
diff --git a/lib/tasks/app.rake b/lib/tasks/app.rake
index a2c0aebc9801c2bd6552a2fafb3fe21e0b1d4ef9..c07398f9114127ca070a739c7968a96195758022 100644
--- a/lib/tasks/app.rake
+++ b/lib/tasks/app.rake
@@ -9,11 +9,15 @@ namespace :app do
   desc 'Fix things'
   task fix: :environment do
     language = Language.first
-    User.find_each { |u|
-      u.confirm
-      u.role ||= :visitor
-      u.language ||= language
-      u.save
+    User.find_each { |user|
+      user.confirm
+      user.role ||= :visitor
+      user.language ||= language
+      user.save
+    }
+    University.find_each { |university|
+      university.sms_sender_name ||= 'Osuny'
+      university.save
     }
   end