diff --git a/workflow.module b/workflow.module
index 8a11f9d..1904029 100644
--- a/workflow.module
+++ b/workflow.module
@@ -1323,15 +1323,14 @@ function workflow_allowable_transitions($sid, $dir = 'to', $roles = 'ALL') {
   // Yes. This is a monster. This should, in all absolute seriousness, be cut down to size.
   // I also REALLY do not like the insecure field pieces in here.
   $results = db_query(''
-      . '(SELECT t.tid, t.' . $field . ' as state_id, s.state AS state_name, s.weight AS state_weight '
+      . 'SELECT t.tid, t.' . $field . ' as state_id, s.state AS state_name, s.weight AS state_weight '
         . 'FROM {workflow_transitions} t '
         . 'INNER JOIN {workflow_states} s ON s.sid = t.' . $field . ' '
         . 'WHERE t.' . $field_where . ' = :sid AND s.status = 1 '
-        . 'ORDER BY state_weight) '
     . 'UNION '
-      . '(SELECT s.sid as tid, s.sid as state_id, s.state as state_name, s.weight as state_weight '
+      . 'SELECT s.sid as tid, s.sid as state_id, s.state as state_name, s.weight as state_weight '
         . 'FROM {workflow_states} s '
-        . 'WHERE s.sid = :sid AND s.status = 1) '
+        . 'WHERE s.sid = :sid AND s.status = 1 '
     . 'ORDER BY state_weight, state_id',
     array(':sid' => $sid));
   foreach ($results as $transition) {
