diff --git a/include/staff/dynamic-forms.inc.php b/include/staff/dynamic-forms.inc.php
index f388a053821eeb8dba014f2ee0e1161d0b0c8cd2..9709d0cec199a07b8050db7c7b48e34b506f47a0 100644
--- a/include/staff/dynamic-forms.inc.php
+++ b/include/staff/dynamic-forms.inc.php
@@ -27,29 +27,21 @@ $showing=$pageNav->showing().' forms';
     </thead>
     <tbody>
     <?php
-    foreach (UserForm::objects()->order_by('title') as $form) { ?>
+    $forms = array(
+        'U' => 'icon-user',
+        'T' => 'icon-ticket',
+        'C' => 'icon-building',
+        'O' => 'icon-group',
+    );
+    foreach (DynamicForm::objects()
+            ->filter(array('type__in'=>array_keys($forms)))
+            ->order_by('type', 'title') as $form) { ?>
         <tr>
-            <td><i class="icon-user"></i></td>
+        <td><i class="<?php echo $forms[$form->get('type')]; ?>"></i></td>
             <td><a href="?id=<?php echo $form->get('id'); ?>">
                 <?php echo $form->get('title'); ?></a>
             <td><?php echo $form->get('updated'); ?></td>
         </tr>
-    <?php }
-    foreach (TicketForm::objects()->order_by('title') as $form) { ?>
-        <tr>
-            <td><i class="icon-ticket"></i></td>
-            <td><a href="?id=<?php echo $form->get('id'); ?>">
-                <?php echo $form->get('title'); ?></a></td>
-            <td><?php echo $form->get('updated'); ?></td>
-        </tr>
-    <?php }
-    foreach (DynamicForm::objects()->filter(array('type'=>'C')) as $form) { ?>
-        <tr>
-            <td><i class="icon-building"></i></td>
-            <td><a href="?id=<?php echo $form->get('id'); ?>">
-                <?php echo $form->get('title'); ?></a></td>
-            <td><?php echo $form->get('updated'); ?></td>
-        </tr>
     <?php } ?>
     </tbody>
     <tbody>