diff -Naur workflow/workflow_access/workflow_access.module workflow.new/workflow_access/workflow_access.module
--- workflow/workflow_access/workflow_access.module	2012-08-20 10:37:54.000000000 +0200
+++ workflow.new/workflow_access/workflow_access.module	2012-09-11 16:58:24.000000000 +0200
@@ -78,7 +78,7 @@
   // Add a table for every workflow state.
   $options = array('status' => 1);
   foreach (workflow_get_workflow_states_by_wid($form['wid']['#value'], $options) as $state) {
-    if ($state->state == t('(creation)')) {
+    if ($state->sysid == WORKFLOW_CREATION) {
       // No need to set perms on creation.
       continue;
     }
@@ -227,4 +227,4 @@
   $data = (object) $data;
   workflow_access_delete_workflow_access_by_sid_rid($data->sid, $data->rid);
   drupal_write_record('workflow_access', $data);
-}
\ No newline at end of file
+}
diff -Naur workflow/workflow_admin_ui/workflow_admin_ui.module workflow.new/workflow_admin_ui/workflow_admin_ui.module
--- workflow/workflow_admin_ui/workflow_admin_ui.module	2012-08-20 10:37:54.000000000 +0200
+++ workflow.new/workflow_admin_ui/workflow_admin_ui.module	2012-09-11 17:01:38.000000000 +0200
@@ -418,14 +418,13 @@
         $state_id = $state->sid;
         $name = $state->state;
         // Don't allow transition TO (creation).
-        if ($name != t('(creation)')) {
+        if ($state->sysid != WORKFLOW_CREATION) {
           $header[] = array('data' => check_plain(t($name)));
         }
         $row = array(array('data' => check_plain(t($name))));
         foreach ($states as $nested_state) {
           $nested_state_id = $nested_state->sid;
-          $nested_name = $nested_state->state;
-          if ($nested_name == t('(creation)')) {
+          if ($nested_state->sysid == WORKFLOW_CREATION) {
             // Don't allow transition TO (creation).
             continue;
           }
@@ -666,7 +665,7 @@
     foreach ($states as $state2) {
       $nested_state_id = $state2->sid;
       $nested_name = $state2->state;
-      if ($nested_name == t('(creation)')) {
+      if ($state2->sysid == WORKFLOW_CREATION) {
         // Don't allow transition TO (creation).
         continue;
       }
@@ -719,7 +718,7 @@
     $subrows = array();
     foreach ($states as $state) {
       $state_links = array();
-      if (!($state->state == t('(creation)'))) {
+      if (!($state->sysid == WORKFLOW_CREATION)) {
         $state_links = array(
           'workflow_overview_edit_state' => array(
             'title' => t('Edit'),
@@ -782,7 +781,7 @@
     // Cannot assign a node to (creation) because that implies that the node does not exist.
     // Don't include the state to be deleted in our list of possible states that can be assigned.
     foreach ($states as $key => $state) {
-      if ($state->state == t('(creation)')) {
+      if ($state->sysid == WORKFLOW_CREATION) {
         unset($states[$key]);
       }
       if ($state->sid == $sid) {
@@ -1003,4 +1002,4 @@
     }
   }
   workflow_delete_workflow_transitions_by_roles('');
-}
\ No newline at end of file
+}
diff -Naur workflow/workflow.module workflow.new/workflow.module
--- workflow/workflow.module	2012-08-20 10:37:54.000000000 +0200
+++ workflow.new/workflow.module	2012-09-11 16:57:43.000000000 +0200
@@ -612,7 +612,7 @@
       $min = 2; // Our current status, and our new status.
       foreach ($states as $state) {
         if ($state->sid == $current) {
-          $min = $state->status == t('(creation)') ? 1 : 2;
+		$min = $state->sysid == WORKFLOW_CREATION ? 1 : 2;
         }
       }
       // Stop if user has no new target state(s) to choose.
@@ -772,7 +772,7 @@
     $transitions = workflow_allowable_transitions($current_sid, 'to', $roles);
     // Include current state if it is not the (creation) state.
     foreach($transitions as $transition) {
-      if ($transition->state_name != t('(creation)')) {
+      if ($transition->sysid != WORKFLOW_CREATION) {
         $choices[$transition->state_id] = check_plain(t($transition->state_name));
       }
     }
@@ -1323,13 +1323,13 @@
   // 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, s.sysid as sysid '
         . '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, s.sysid as sysid '
         . 'FROM {workflow_states} s '
         . 'WHERE s.sid = :sid AND s.status = 1) '
     . 'ORDER BY state_weight, state_id',
