diff --git a/workflow.tokens.inc b/workflow.tokens.inc
index 085cfa0..b371c2f 100644
--- a/workflow.tokens.inc
+++ b/workflow.tokens.inc
@@ -217,20 +217,20 @@ function workflow_tokens($type, $tokens, array $data = array(), array $options =
       $replacements += token_generate('entity', $sub_tokens, $sub_data, $options);
     }
 
-    // If this is a WorkflowField, get subtokens for it.
-    $name_parts = explode(':', $name, 2);
-    $field_name = reset($name_parts);
-    if ($field_name != 'created' && isset($entity->{$field_name}) && $sub_tokens = token_find_with_prefix($tokens, $field_name)) {
-      $transition = _workflow_tokens_get_transition($entity_type, $entity, $field_name);
-      $sub_data = array(
-        'WorkflowTransition' => $transition,
-        'workflow_token_type' => 'WorkflowTransition',
-      );
-      $sub_data += $data;
-      $replacements += token_generate('entity', $sub_tokens, $sub_data, $options);
-    }
-
     if (isset($data['WorkflowTransition'])) {
+      // If this is a WorkflowField, get subtokens for it.
+      $name_parts = explode(':', $name, 2);
+      $field_name = reset($name_parts);
+      if ($field_name != 'created' && isset($entity->{$field_name}) && $sub_tokens = token_find_with_prefix($tokens, $field_name)) {
+        $transition = _workflow_tokens_get_transition($entity_type, $entity, $field_name);
+        $sub_data = array(
+          'WorkflowTransition' => $transition,
+          'workflow_token_type' => 'WorkflowTransition',
+        );
+        $sub_data += $data;
+        $replacements += token_generate('entity', $sub_tokens, $sub_data, $options);
+      }
+
       $transition = $data['WorkflowTransition'];
       $field_name = $transition->field_name;
 
