Index: /tags/ipp-20110218/pstamp/scripts/pstamp_checkdependent.pl
===================================================================
--- /tags/ipp-20110218/pstamp/scripts/pstamp_checkdependent.pl	(revision 30879)
+++ /tags/ipp-20110218/pstamp/scripts/pstamp_checkdependent.pl	(revision 30880)
@@ -546,7 +546,20 @@
     }
 
-    if ($skycell->{data_state} ne 'update') {
+    if (($skycell->{data_state} ne 'update') or ($skycell->{state} ne 'update')) {
         my $command = "$difftool -setskyfiletoupdate -diff_id $diff_id -skycell_id $skycell_id";
         $command .= " -set_label $rlabel" if $rlabel;
+
+        if (!$no_update) {
+            my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
+                        run(command => $command, verbose => $verbose);
+            unless ($success) {
+                my_die("failed to queue ${stage}Run $stage_id $component for update", $PS_EXIT_UNKNOWN_ERROR);
+            }
+        } else {
+            print "skipping $command\n";
+        }
+    } elsif (defined $rlabel and ($skycell->{label} ne $rlabel)) {
+        # change the label to match this dependent's rlabel
+        my $command = "$difftool -updatrun -diff_id $diff_id -set_label $rlabel";
 
         if (!$no_update) {
