Index: signup_status.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup_status/signup_status.module,v
retrieving revision 1.17
diff -u -p -r1.17 signup_status.module
--- signup_status.module	14 Aug 2009 23:28:54 -0000	1.17
+++ signup_status.module	17 Aug 2009 19:54:57 -0000
@@ -96,12 +96,14 @@ function signup_status_views_api() {
  * Perform the action to alter the signup status of a given signup.
  */
 function signup_status_alter_action(&$signup, $context) {
-  $status_codes = signup_status_codes();
-  $signup->old_status = $signup->status;
-  $signup->status = $context['signup_status'];
-  db_query("UPDATE {signup_log} SET status = %d WHERE sid = %d", $signup->status, $signup->sid);
-  watchdog('action', 'Set status of %signup_label to %status_name.', array('%signup_label' => $signup->label, '%status_name' => $status_codes[$signup->status]['name']));
-  _signup_status_change('update', $signup);
+  if ($context['signup_status'] != $signup->status) {
+    $status_codes = signup_status_codes();
+    $signup->old_status = $signup->status;
+    $signup->status = $context['signup_status'];
+    db_query("UPDATE {signup_log} SET status = %d WHERE sid = %d", $signup->status, $signup->sid);
+    watchdog('action', 'Set status of %signup_label to %status_name.', array('%signup_label' => $signup->label, '%status_name' => $status_codes[$signup->status]['name']));
+    _signup_status_change('update', $signup);
+  }
 }
 
 /**
@@ -247,7 +249,7 @@ function signup_status_form_signup_edit_
 function signup_status_alter_signup_edit_form_submit($form, &$form_state) {
   $values = $form_state['values'];
   $signup = $form['#signup'];
-  if (isset($values['signup_status'])) {
+  if (isset($values['signup_status']) && $values['signup_status'] != $signup->status) {
     $signup->old_status = $signup->status;
     $signup->status = $values['signup_status'];
     db_query("UPDATE {signup_log} SET status = %d WHERE sid = %d", $signup->status, $signup->sid);
