Index: /trunk/ppSub/src/ppSubMatchPSFs.c
===================================================================
--- /trunk/ppSub/src/ppSubMatchPSFs.c	(revision 24256)
+++ /trunk/ppSub/src/ppSubMatchPSFs.c	(revision 24257)
@@ -166,4 +166,9 @@
             ppSubDataQuality(data, error, PPSUB_FILES_ALL);
             return true;
+        } else if (error == PM_ERR_SMALL_AREA) {
+            psErrorStackPrint(stderr, "Insufficient area for PSF matching");
+            psWarning("Insufficient area for PSF matching --- suspect bad data quality.");
+            ppSubDataQuality(data, error, PPSUB_FILES_ALL);
+            return true;
         } else {
             psError(PS_ERR_UNKNOWN, false, "Unable to match images.");
Index: /trunk/psModules/src/config/pmErrorCodes.dat
===================================================================
--- /trunk/psModules/src/config/pmErrorCodes.dat	(revision 24256)
+++ /trunk/psModules/src/config/pmErrorCodes.dat	(revision 24257)
@@ -12,4 +12,5 @@
 SKY			Problem in sky
 STAMPS			Unable to select stamps for PSF-matching
+SMALL_AREA              Small area for PSF-matching
 # these errors correspond to standard exit conditions
 ARGUMENTS               Incorrect arguments
Index: /trunk/psModules/src/imcombine/pmSubtractionMask.c
===================================================================
--- /trunk/psModules/src/imcombine/pmSubtractionMask.c	(revision 24256)
+++ /trunk/psModules/src/imcombine/pmSubtractionMask.c	(revision 24257)
@@ -6,4 +6,5 @@
 #include <pslib.h>
 
+#include "pmErrorCodes.h"
 #include "pmSubtraction.h"
 #include "pmSubtractionKernels.h"
@@ -78,5 +79,5 @@
         }
         if (numBad > badFrac * numCols * numRows) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+            psError(PM_ERR_SMALL_AREA, true,
                     "Fraction of bad pixels (%d/%d=%f) exceeds limit (%f)\n",
                     numBad, numCols * numRows, (float)numBad/(float)(numCols * numRows), badFrac);
Index: /trunk/psModules/src/imcombine/pmSubtractionMatch.c
===================================================================
--- /trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 24256)
+++ /trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 24257)
@@ -246,5 +246,5 @@
                                          badFrac, mode); // Subtraction mask
     if (!subMask) {
-        psError(PS_ERR_UNKNOWN, false, "Unable to generate subtraction mask.");
+        psError(psErrorCodeLast(), false, "Unable to generate subtraction mask.");
         psFree(kernels);
         psFree(regions);
