diff --git a/include/class.role.php b/include/class.role.php
index b2bcd2c97d0813d7cff5fd03d854bbf607cadeb1..ce4256c5ba75da5a0c67eac8b51319a040758562 100644
--- a/include/class.role.php
+++ b/include/class.role.php
@@ -310,9 +310,15 @@ class RolePermission {
         return static::$_permissions;
     }
 
-    static function register($group, $perms) {
-        static::$_permissions[$group] = array_merge(
-                            static::$_permissions[$group] ?: array(), $perms);
+    static function register($group, $perms, $prepend=false) {
+        if ($prepend) {
+            static::$_permissions[$group] = array_merge(
+                $perms, static::$_permissions[$group] ?: array());
+        }
+        else {
+            static::$_permissions[$group] = array_merge(
+                static::$_permissions[$group] ?: array(), $perms);
+        }
     }
 }
 ?>
diff --git a/include/class.ticket.php b/include/class.ticket.php
index 30a5df7fd556d85d55074691e093289992d5aeab..2a14829dc83ed5d3658e7e15a7f750a04a6cc874 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -192,7 +192,7 @@ EOF;
     }
 }
 
-RolePermission::register(/* @trans */ 'Tickets', TicketModel::getPermissions());
+RolePermission::register(/* @trans */ 'Tickets', TicketModel::getPermissions(), true);
 
 class TicketCData extends VerySimpleModel {
     static $meta = array(