diff --git a/workflow.module b/workflow.module
index 5b065e1..fd04a0d 100644
--- a/workflow.module
+++ b/workflow.module
@@ -576,7 +576,7 @@ function workflow_form_alter(&$form, &$form_state, $form_id) {
       $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.
@@ -736,7 +736,7 @@ function workflow_field_choices($node) {
     $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));
       }
     }
@@ -1287,13 +1287,13 @@ 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, 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',
diff --git a/workflow_access/workflow_access.module b/workflow_access/workflow_access.module
index 08f5bb8..61f3a53 100644
--- a/workflow_access/workflow_access.module
+++ b/workflow_access/workflow_access.module
@@ -78,7 +78,7 @@ function workflow_access_form_workflow_admin_ui_edit_form_alter(&$form, $form_st
   // 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;
     }
diff --git a/workflow_admin_ui/workflow_admin_ui.module b/workflow_admin_ui/workflow_admin_ui.module
index 55a7811..89600f6 100644
--- a/workflow_admin_ui/workflow_admin_ui.module
+++ b/workflow_admin_ui/workflow_admin_ui.module
@@ -418,14 +418,13 @@ function theme_workflow_admin_ui_edit_form($variables) {
         $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;
           }
@@ -667,7 +666,7 @@ function workflow_admin_ui_transition_grid_form($wid) {
     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;
       }
@@ -720,7 +719,7 @@ function workflow_admin_ui_overview() {
     $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'),
@@ -784,7 +783,7 @@ function workflow_admin_ui_state_delete_form($form, $form_state, $wid, $sid) {
     // 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) {
