Do not apply this patch.  It was made with --ignore-all-space, and is meant to
increase human readability.  The actual patch should apply the indentation
changes.

--- orig_workflow_extensions.module	2011-10-25 15:46:04.973394945 -0400
+++ workflow_extensions.module	2011-10-18 12:54:01.634656838 -0400
@@ -321,10 +321,20 @@
   $states = $form['workflow'][$workflow_name]['#options'];
   $submit_handlers = _workflow_extensions_assign_handlers($form);
   foreach ($states as $sid => $to_state_name) {
-    if ($sid != $current_sid) {
       // Create button for transition from current_sid to destination state.
+    if ($sid != $current_sid) {
       $button = array();
       $button['#value'] = workflow_extensions_get_transition_label($form['#wf']->wid, $current_state_name, workflow_get_state_name($sid), $node);
+    }
+    else {
+      // Reuse the submit button, to stay in this state.
+      if (empty($form['buttons']['submit'])) {
+        // If there was no submit button, we were probably on the workflow
+        // transition page and not the node edit page.
+        continue;
+      }
+      $button = $form['buttons']['submit'];
+    }
       $button['#type'] = 'submit';
       $button['#to_state'] = $sid;
       if (isset($form['buttons']['submit']['#weight'])) { // node form
@@ -334,8 +344,13 @@
         $button['#weight'] = $form['submit']['#weight'];
       }
       $button['#submit'] = $submit_handlers;
+
+    if ($sid != $current_sid) {
       $form['buttons']["submit_to_$to_state_name"] = $button;
     }
+    else {
+      $form['buttons']["submit"] = $button;
+    }
   }
   // Get rid of workflow radio buttons that live inside the fieldset
   unset($form['workflow'][$workflow_name]);
