diff --git a/workflow.module b/workflow.module
index 9a10744..8137bd6 100644
--- a/workflow.module
+++ b/workflow.module
@@ -682,6 +682,11 @@ function workflow_node_current_state($entity, $entity_type = 'node', &$field_nam
     return $sid; // <-- exit !!!
   }
 
+  // return creation state as sid if the entity hasn't been saved yet.
+  if (isset($entity->is_new) && ($entity->is_new)) {
+    return _workflow_get_workflow_creation_sid($entity_type, $entity, $field_name);
+  }
+
   if ($field_name === '') {
     // Workflow Node API: Get current/previous state for a Workflow Node.
     // Multi-language not supported.
