diff --git a/workflow.module b/workflow.module
index dd1858f..1408087 100644
--- a/workflow.module
+++ b/workflow.module
@@ -690,6 +690,21 @@ function workflow_execute_transition($node, $sid, $comment = NULL, $force = FALS
       unset($node->workflow_comment);
       $result = module_invoke_all('workflow', 'transition post', $old_sid, $sid, $node);
     }
+
+    // If workflow changed-ness is checked not at transition post event
+    // we need this entry to be able to decide if the workflow status has been changed or not.
+    if ($old_sid <> workflow_node_previous_state($node)) {
+      $data = array(
+        'nid' => $node->nid,
+        'old_sid' => $node->workflow,
+        'sid' => $sid,
+        'uid' => $user->uid,
+        'stamp' => REQUEST_TIME,
+        'comment' => $comment,
+      );
+      workflow_insert_workflow_node_history($data);
+    }
+
     return;
   }
   $transition = workflow_get_workflow_transitions_by_sid_target_sid($old_sid, $sid);
