diff --git a/app/views/staff.py b/app/views/staff.py
index 07975158a15d737647e0881bb0553073285ec422..d5776b591f1cf93d3d2e728a7d4629ed4f5c5de2 100644
--- a/app/views/staff.py
+++ b/app/views/staff.py
@@ -37,14 +37,20 @@ def unshortlist_old_proposer(project: Project):
 @login_required
 @staff_only
 def projects():
+    categories: list[str] = (
+        Person.query.filter_by(username=current_user.username).first().categories
+    )
     allow_edit = True if datetime.utcnow() <= DEADLINE_FOR_STAFF_CHANGES else False
+    own_projects: list[Project]
     own_projects: list[Project] = (
         Project.query.filter_by(proposer=current_user.username)
+        .filter(Project.category.in_(categories))
         .filter(Project.deleted.is_(None))
         .all()
     )
     other_projects: list[Project] = (
         Project.query.filter(Project.proposer != current_user.username)
+        .filter(Project.category.in_(categories))
         .filter(Project.deleted.is_(None))
         .all()
     )