diff --git a/src/app/core/service-list/service-list.component.ts b/src/app/core/service-list/service-list.component.ts
index 305c9d1cc260398329c9b767f160d2df98f0eddb..1891be66f32f3f6bfb69270659e2ae0af49d4b5c 100644
--- a/src/app/core/service-list/service-list.component.ts
+++ b/src/app/core/service-list/service-list.component.ts
@@ -72,7 +72,7 @@ export class ServiceListComponent implements OnInit {
   ngOnInit(): void {
     this.servicesService.listServices().subscribe((s) => {
       if (s) {
-        this.services = s;
+        this.services = this.orderServices(s);
       }
     });
     this.authService.userData$.subscribe((user) => {
@@ -80,6 +80,22 @@ export class ServiceListComponent implements OnInit {
     });
   }
 
+  /**
+   * Sort services. First by status, then by name
+   * @param services unordered list of services
+   * @returns ordered list of services
+   */
+  orderServices(services: Service[]): Service[] {
+    if (!services) {
+      return [];
+    }
+    services.sort((a, b) => a.isOkay > b.isOkay ? 1 : a.isOkay === b.isOkay ? 0 : -1);
+    let nameCompare = (a, b) => a.name.localeCompare(b.name, "hu");
+    let sortedFailingServices = services.filter(s => s.isOkay === false).sort(nameCompare);
+    let sortedHealthyServices = services.filter(s => s.isOkay === true).sort(nameCompare);
+    return sortedFailingServices.concat(sortedHealthyServices);
+  }
+
   /**
    * Prevent unnecessary rerenders
    */