diff --git a/app/templates/pages/staff/shortlisted-projects.html b/app/templates/pages/staff/shortlisted-projects.html
index f93f8cee146e43d4fea742b413e2f1a072063b54..5351e61543302a3578aeb6d47d9aef3b379475f7 100644
--- a/app/templates/pages/staff/shortlisted-projects.html
+++ b/app/templates/pages/staff/shortlisted-projects.html
@@ -15,7 +15,7 @@
                                 <i class="fa-solid fa-bars"></i>&ensp;
                             </span>
                                 <span>
-                                {{ shortlisting.project.title }} - {{ shortlisting.student }}
+                                {{ shortlisting.project.title }} - {{ full_names[shortlisting.id] }}
                             </span>
                             </li>
                         {% endfor %}
diff --git a/app/templates/pages/student/shortlisted-projects.html b/app/templates/pages/student/shortlisted-projects.html
index dd11c6d0db043a0d9bbb82807804bf547157fa37..d0e90249a0cd0706173b5699a79cd5c98f83c6be 100644
--- a/app/templates/pages/student/shortlisted-projects.html
+++ b/app/templates/pages/student/shortlisted-projects.html
@@ -15,7 +15,7 @@
                                 <i class="fa-solid fa-bars"></i>&ensp;
                             </span>
                                 <span>
-                                {{ project.title }}{{ project.proposer }}
+                                {{ project.title }} - {{ full_names[project.id] }}
                             </span>
                             </li>
                         {% endfor %}
diff --git a/app/views/staff.py b/app/views/staff.py
index 547164bb13633edc001e4208becb75375e7de460..6f4815efeffa8fb74cb45ba31bab3603feeb8c7e 100644
--- a/app/views/staff.py
+++ b/app/views/staff.py
@@ -124,13 +124,23 @@ def projects_ranking():
         .order_by(Shortlisting.staff_ranking)
         .all()
     )
+
+    full_names = {}
+
     for shortlisting in projects:
         person = Person.query.filter(
             Person.username == shortlisting.student
         ).first() or Person(username=shortlisting.student, firstname="", lastname="")
-        shortlisting.student = person.full_name if person.full_name else person.username
 
-    return render_template("pages/staff/shortlisted-projects.html", projects=projects)
+        full_names[shortlisting.id] = (
+            person.full_name if person.full_name else person.username
+        )
+
+    return render_template(
+        "pages/staff/shortlisted-projects.html",
+        projects=projects,
+        full_names=full_names,
+    )
 
 
 @bp.route("/projects/rankings", methods=["PUT"])
diff --git a/app/views/student.py b/app/views/student.py
index d44f73c9e000280efd7f6ffb0a7b15d8dad59955..25ee47e437c02c58699c040c40cf2e470f76c661 100644
--- a/app/views/student.py
+++ b/app/views/student.py
@@ -42,6 +42,9 @@ def projects_ranking():
         .order_by(Shortlisting.ranking)
         .all()
     )
+
+    full_names = {}
+
     for shortlisting in shortlisted_projects:
         username = (
             shortlisting.proposer
@@ -53,12 +56,14 @@ def projects_ranking():
             username=username, firstname="", lastname=""
         )
 
-        shortlisting.proposer = " - " + (
+        full_names[shortlisting.id] = (
             person.full_name if person.full_name else person.username
         )
 
     return render_template(
-        "pages/student/shortlisted-projects.html", projects=shortlisted_projects
+        "pages/student/shortlisted-projects.html",
+        projects=shortlisted_projects,
+        full_names=full_names,
     )