diff --git a/smash/web/views/worker.py b/smash/web/views/worker.py
index 06ecc68709f67c5dd017f6cc8fe173f9e73bb283..2ed75a0e372ffb41825369e061f7c3bccd289fa5 100644
--- a/smash/web/views/worker.py
+++ b/smash/web/views/worker.py
@@ -15,7 +15,14 @@ logger = logging.getLogger(__name__)
 
 
 def worker_list(request, worker_type=WORKER_STAFF):
-    doctors_list = Worker.objects.order_by('-last_name')
+    role_choices = role_choices_by_worker_type(worker_type)
+    roles = []
+
+    for role_type, role_name in role_choices:
+        roles.append(role_type)
+
+    doctors_list = Worker.objects.filter(roles__study_id=GLOBAL_STUDY_ID, roles__role__in=roles).order_by(
+        '-last_name')
     context = {
         'doctors_list': doctors_list,
         'worker_type': worker_type
@@ -25,7 +32,6 @@ def worker_list(request, worker_type=WORKER_STAFF):
 
 
 def role_choices_by_worker_type(worker_type):
-    logger.debug(worker_type)
     if worker_type == WORKER_STAFF:
         return STUDY_ROLE_CHOICES
     elif worker_type == WORKER_HEALTH_PARTNER: