diff --git a/beat/web/backend/state.py b/beat/web/backend/state.py
index 12a2ced4bab3e06cf21f0432bc19eb0eb29eb070..1b1e78755fb04671bdac43b16131e86e84daf93c 100644
--- a/beat/web/backend/state.py
+++ b/beat/web/backend/state.py
@@ -75,5 +75,8 @@ def experiments():
     return dict(
         running=Experiment.objects.filter(status=Experiment.RUNNING).count(),
         scheduled=Experiment.objects.filter(status=Experiment.SCHEDULED).count(),
-        ls=Experiment.objects.filter(status__in=(Experiment.RUNNING, Experiment.SCHEDULED)).all(),
+        ls=Experiment.objects.filter(status__in=(Experiment.RUNNING,
+          Experiment.SCHEDULED)).order_by('author__username',
+            'toolchain__author__username', 'toolchain__name',
+            'toolchain__version', 'name'),
         )
diff --git a/beat/web/backend/views.py b/beat/web/backend/views.py
index d94c6f927820ad0436990aa94494b90863fc0ce8..0e408d3937ac0846da6726aefe4154c8cd4fe4de 100644
--- a/beat/web/backend/views.py
+++ b/beat/web/backend/views.py
@@ -74,8 +74,8 @@ def scheduler(request):
             dict(
                 jobs=state.jobs(),
                 experiments=state.experiments(),
-                workers=Worker.objects.all(),
-                queues=Queue.objects.all(),
+                workers=Worker.objects.order_by('-active', 'name'),
+                queues=Queue.objects.order_by('memory_limit', 'max_slots_per_user'),
                 cache_chart_data=simplejson.dumps(cache_chart_data),
                 cache_gb=cache_gb,
                 ),