diff --git a/settings/controller/appsettingscontroller.php b/settings/controller/appsettingscontroller.php
index 55677d64870b5f2110979bf510da20bd53cfdd6c..816b7b2e65c2f51ac73d231289773218ec9b5536 100644
--- a/settings/controller/appsettingscontroller.php
+++ b/settings/controller/appsettingscontroller.php
@@ -97,6 +97,14 @@ class AppSettingsController extends Controller {
 					$apps = array_filter($apps, function ($app) {
 						return $app['active'];
 					});
+					usort($apps, function ($a, $b) {
+						$a = (string)$a['name'];
+						$b = (string)$b['name'];
+						if ($a === $b) {
+							return 0;
+						}
+						return ($a < $b) ? -1 : 1;
+					});
 					break;
 				// not-installed apps
 				case 1:
@@ -104,6 +112,14 @@ class AppSettingsController extends Controller {
 					$apps = array_filter($apps, function ($app) {
 						return !$app['active'];
 					});
+					usort($apps, function ($a, $b) {
+						$a = (string)$a['name'];
+						$b = (string)$b['name'];
+						if ($a === $b) {
+							return 0;
+						}
+						return ($a < $b) ? -1 : 1;
+					});
 					break;
 				default:
 					if ($category === 2) {