diff --git a/include/class.role.php b/include/class.role.php
index 0e0f89af2b493003fe2ef3437a0e554152325c36..7afb3f21b20437c72dc1855bf37e81f05aca7049 100644
--- a/include/class.role.php
+++ b/include/class.role.php
@@ -320,6 +320,16 @@ class RolePermission {
     }
 
     static function allPermissions() {
+        static $sorted = false;
+
+        if (!$sorted) {
+            // Sort permissions in alphabetical order
+            foreach (static::$_permissions as $k => $v) {
+                asort(static::$_permissions[$k]);
+            }
+            $sorted = true;
+        }
+
         return static::$_permissions;
     }