Index: /tags/ipp-20120626/pstamp/scripts/pstamp_checkdependent.pl
===================================================================
--- /tags/ipp-20120626/pstamp/scripts/pstamp_checkdependent.pl	(revision 34236)
+++ /tags/ipp-20120626/pstamp/scripts/pstamp_checkdependent.pl	(revision 34237)
@@ -331,9 +331,13 @@
         return $error_code
     }
-    if (($state eq 'update') and ($metadata->{fault})) {
+    if (($data_state eq 'full') and ($metadata->{fault})) {
         # fault dependent.
         my $fault = $metadata->{fault};
         print STDERR "warp $warp_id $skycell_id faulted: $fault";
         return $fault;
+    }
+    if (($state eq 'update') and ($metadata->{quality} ne 0)) {
+        print STDERR "warp $warp_id $skycell_id bad quality on update: $metadata->{quality}\n";
+        return $PSTAMP_GONE;
     }
 
@@ -466,5 +470,9 @@
                 return $warp_status;
             }
-        }
+        } elsif ($warp1->{quality} != 0) {
+	    print STDERR "warp $warp1->{warp_id} $skycell_id has poor quality: $warp1->{quality}\n";
+	    faultComponent('diff', $diff_id, $skycell_id, $PSTAMP_GONE);
+	    return $PSTAMP_GONE;
+	}
         $command = "$warptool -warped -warp_id $skycell->{warp2} -skycell_id $skycell_id";
         my $warp2 = runToolAndParseExpectOne($command, $verbose);
@@ -477,5 +485,9 @@
                 faultComponent('diff', $diff_id, $skycell_id, $PSTAMP_GONE);
             }
-        }
+        } elsif ($warp2->{quality} != 0) {
+	    print STDERR "warp $warp2->{warp_id} $skycell_id has poor quality: $warp2->{quality}\n";
+	    faultComponent('diff', $diff_id, $skycell_id, $PSTAMP_GONE);
+	    return $PSTAMP_GONE;
+	}
 
         if (!$warps_ready) {
Index: /tags/ipp-20120626/pstamp/scripts/pstamp_cleanup.pl
===================================================================
--- /tags/ipp-20120626/pstamp/scripts/pstamp_cleanup.pl	(revision 34236)
+++ /tags/ipp-20120626/pstamp/scripts/pstamp_cleanup.pl	(revision 34237)
@@ -81,5 +81,5 @@
 
 my_die("Cleanup not yet supported for reqType: $reqType", $req_id, $PS_EXIT_UNKNOWN_ERROR)
-    if ($reqType ne "pstamp") and ($reqType ne "NULL") and ($reqType ne "dquery");
+    if ($reqType ne "pstamp") and ($reqType ne "NULL") and ($reqType ne "dquery") and ($reqType ne 'unknown');
 
 my $mdcParser = PS::IPP::Metadata::Config->new; # Parser for metadata config files
