diff --git a/app/controllers/users/registrations_controller.rb b/app/controllers/users/registrations_controller.rb
index e21fd7e871ae5fec3260b3572b5df726ddc801be..0fd4b4e0b8a5da64be731dd3276604b3975846a5 100644
--- a/app/controllers/users/registrations_controller.rb
+++ b/app/controllers/users/registrations_controller.rb
@@ -1,5 +1,6 @@
 class Users::RegistrationsController < Devise::RegistrationsController
   prepend_before_action :set_university, only: :create
+  before_action :configure_sign_up_params, only: :create
 
   protected
 
@@ -7,4 +8,9 @@ class Users::RegistrationsController < Devise::RegistrationsController
     return if request.params[:user].nil?
     request.params[:user][:university_id] = current_university.id
   end
+
+  # If you have extra params to permit, append them to the sanitizer.
+  def configure_sign_up_params
+    devise_parameter_sanitizer.permit(:sign_up, keys: [:language_id])
+  end
 end
diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb
index cf520eccd4526915ba799c37e814819d7dd9f020..4fab283acbfd53d3b9487de3dd8ef080e9307b6a 100644
--- a/app/views/devise/registrations/new.html.erb
+++ b/app/views/devise/registrations/new.html.erb
@@ -15,6 +15,9 @@
     <%= f.input :password_confirmation,
                 required: true,
                 input_html: { autocomplete: "new-password" } %>
+    <%= f.association :language,
+                      required: true,
+                      include_blank: 'Select a language' %>
   </div>
 
   <div class="form-actions">