Index: trunk/ppSub/src/ppSubReadout.c
===================================================================
--- trunk/ppSub/src/ppSubReadout.c	(revision 21524)
+++ trunk/ppSub/src/ppSubReadout.c	(revision 23688)
@@ -21,5 +21,5 @@
 #include "ppSub.h"
 
-bool ppSubReadout(pmConfig *config, psMetadata *stats, const pmFPAview *view)
+bool ppSubReadout(pmConfig *config, ppSubData *data, const pmFPAview *view)
 {
     psTimerStart("PPSUB_MATCH");
@@ -30,7 +30,10 @@
     }
 
-    if (!ppSubMatchPSFs(config, view)) {
+    if (!ppSubMatchPSFs(config, data, view)) {
         psError(PS_ERR_UNKNOWN, false, "Unable to match PSFs.");
         return false;
+    } else if (data->quality) {
+        // Can't do anything at all
+        return true;
     }
 
@@ -40,5 +43,5 @@
     }
 
-    if (!ppSubMakePSF(config, view)) {
+    if (!data->quality && !ppSubMakePSF(config, data, view)) {
         psError(PS_ERR_UNKNOWN, false, "Unable to generate PSF.");
         return false;
@@ -56,10 +59,10 @@
     }
 
-    if (!ppSubReadoutPhotometry(config, stats, view)) {
+    if (!data->quality && !ppSubReadoutPhotometry(config, data, view)) {
         psError(PS_ERR_UNKNOWN, false, "Unable to perform photometry.");
         return false;
     }
 
-    if (!ppSubReadoutUpdate(config, stats, view)) {
+    if (!ppSubReadoutUpdate(config, data, view)) {
         psError(PS_ERR_UNKNOWN, false, "Unable to update.");
         return false;
