diff --git a/app/javascript/controllers/session_controller.js b/app/javascript/controllers/session_controller.js
index 3694c698ddd8374feeec279a56234136509faeaa..2be5137db714dc5217115a249e62611f43081111 100644
--- a/app/javascript/controllers/session_controller.js
+++ b/app/javascript/controllers/session_controller.js
@@ -40,7 +40,7 @@ export default class extends Controller {
       return;
     }
     if (!languagesFrom.split(',').includes(languageSession)) {
-      const response = confirm("You are signing up for a talk with language " + languageSession + ", which you claim not to understand!");
+      const response = confirm("You are signing up for a talk with language \"" + languageSession + "\", which you claim not to understand!");
       if (response) {
         return;
       } else {
diff --git a/app/views/assignments/_user_avatar.html.erb b/app/views/assignments/_user_avatar.html.erb
index 55e244066ffa03cfb2d6db436497ee707101a646..bfc7e8dd3fc64639b69020af3672260b57608d62 100644
--- a/app/views/assignments/_user_avatar.html.erb
+++ b/app/views/assignments/_user_avatar.html.erb
@@ -10,11 +10,4 @@
       <span class="absolute -inset-1"></span>
     <% end %>
   </button>
-</span>
-<% if !user.languages_from.blank? || !user.languages_to.blank? %>
-<small class="text-2xs uppercase font-light bg-black/10 rounded-sm p-1 mr-1" aria-label="Languages <%= user.name %> can translate" title="Languages <%= user.name %> can translate">
-    <%= user.languages_from %>
-    <span aria-label="to">→</span>
-    <%= user.languages_to %>
-</small>
-<% end %>
+</span><%= render partial: 'shared/user_languages', locals: { user:, session: assignment.session } %>
diff --git a/app/views/candidates/_user_avatar.html.erb b/app/views/candidates/_user_avatar.html.erb
index 10274ba2270972aef2b5edad27a6739395628c82..12e8acb5c6e37360d63ed392c09ae89deee5f6e9 100644
--- a/app/views/candidates/_user_avatar.html.erb
+++ b/app/views/candidates/_user_avatar.html.erb
@@ -11,17 +11,7 @@
       <span class="absolute -inset-1"></span>
     <% end %>
   </button>
-</span>
-<% if !user.languages_from.blank? || !user.languages_to.blank? %>
-<small class="text-2xs uppercase font-light bg-black/10 rounded-sm p-1 ml-1">
-  <% if !user.languages_from.blank? && !user.languages_from.split(',').include?(session.language) %>
-  <span aria-help="User doesn't understand the language of the talk" title="User doesn't understand the language of the talk">⚠️</span>
-  <% end %>
-  <%= user.languages_from %>
-  <span aria-label="to">→</span>
-  <%= user.languages_to %>
-</small>
-<% end %>
+</span><%= render partial: 'shared/user_languages', locals: { user:, session: } %>
 <% if candidate.note %>
  <span class="relative ml-1.5"><span class="max-w-60 max-h-14 overflow-scroll bg-gray-600 text-white text-xs font-medium px-2 py-1 rounded-md relative inline-block"><%= candidate.note %></span><span class="w-0 h-0 border-t-[6px] border-t-transparent border-b-[6px] border-b-transparent border-r-[6px] border-r-gray-600 absolute left-[-5px] top-[20%] transform -translate-y-1/2"></span> </span>
 <% end %>
diff --git a/app/views/shared/_user_languages.erb b/app/views/shared/_user_languages.erb
new file mode 100644
index 0000000000000000000000000000000000000000..9d2be9bf4f7fbbee0954b026107e16e8204d866b
--- /dev/null
+++ b/app/views/shared/_user_languages.erb
@@ -0,0 +1,9 @@
+<% if !user.languages_from.blank? || !user.languages_to.blank? %><small class="text-2xs uppercase font-light bg-black/10 rounded-sm p-1 ml-1" aria-label="Languages <%= user.name %> can translate" title="Languages <%= user.name %> can translate">
+  <% if !user.languages_from.blank? && !user.languages_from.split(',').include?(session.language) %>
+  <span aria-help="User doesn't understand the language of the talk" title="User doesn't understand the language of the talk">⚠️</span>
+  <% end %>
+  <%= user.languages_from.presence || "?" %>
+  <span aria-label="to">→</span>
+  <%= user.languages_to.presence || "?" %>
+</small>
+<% end %>