Index: trunk/psastro/src/psastroAnalysis.c
===================================================================
--- trunk/psastro/src/psastroAnalysis.c	(revision 27551)
+++ trunk/psastro/src/psastroAnalysis.c	(revision 27552)
@@ -115,12 +115,30 @@
     if (chipastro) {
         if (!psastroChipAstrom (config)) {
-            psError (PSASTRO_ERR_UNKNOWN, false, "failed to perform single chip astrometry\n");
-            return false;
+            // This is likely a data quality issue
+            psWarning("Failed single chip astrometry --- suspect bad data quality");
+            if (stats && psMetadataLookupS32(NULL, stats, "QUALITY") == 0) {
+                psMetadataAddS32(stats, PS_LIST_TAIL, "QUALITY", PS_META_REPLACE,
+                                 "Single chip astrometry failed", PSASTRO_ERR_DATA);
+            }
+            fileSave(config, "PSASTRO.OUTPUT", false);
+            fileSave(config, "PSASTRO.OUTPUT.MASK", false);
+            fileSave(config, "PSASTRO.OUT.REFSTARS", false);
+            psErrorClear();
+            return true;
         }
     }
     if (mosastro) {
         if (!psastroMosaicAstrom (config)) {
-            psError (PSASTRO_ERR_UNKNOWN, false, "failed to perform mosaic camera astrometry\n");
-            return false;
+            // This is likely a data quality issue
+            psWarning("Failed mosaic astrometry --- suspect bad data quality");
+            if (stats && psMetadataLookupS32(NULL, stats, "QUALITY") == 0) {
+                psMetadataAddS32(stats, PS_LIST_TAIL, "QUALITY", PS_META_REPLACE,
+                                 "Mosaic astrometry failed", PSASTRO_ERR_DATA);
+            }
+            fileSave(config, "PSASTRO.OUTPUT", false);
+            fileSave(config, "PSASTRO.OUTPUT.MASK", false);
+            fileSave(config, "PSASTRO.OUT.REFSTARS", false);
+            psErrorClear();
+            return true;
         }
     }
