Index: branches/pap/pswarp/src/pswarpLoop.c
===================================================================
--- branches/pap/pswarp/src/pswarpLoop.c	(revision 23597)
+++ branches/pap/pswarp/src/pswarpLoop.c	(revision 23677)
@@ -274,14 +274,25 @@
     }
 
+    if (!output->data_exists) {
+        psWarning("No overlap between input and skycell.");
+        if (stats) {
+            psMetadataAddS32(stats, PS_LIST_TAIL, "QUALITY", PS_META_REPLACE,
+                             "No overlap between input and skycell", PSWARP_ERR_NO_OVERLAP);
+        }
+        psphotFilesActivate(config, false);
+        psFree(cells);
+        psFree(view);
+        return true;
+    }
+
     pmCell *outCell = output->parent;   ///< Output cell
     pmChip *outChip = outCell->parent;  ///< Output chip
     pmFPA *outFPA = outChip->parent;    ///< Output FP
 
-    if (!pswarpPixelFraction(output, stats, config)) {
-        // Don't write output images, and don't bother about anything else
-        output->data_exists = outCell->data_exists = outChip->data_exists = false;
+    if (pswarpPixelFraction(output, stats, config)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to calculate pixel regions.");
         psFree(cells);
         psFree(view);
-        goto COMPLETED;
+        return false;
     }
 
@@ -457,5 +468,4 @@
     // Now done with the skycell side of things
 
-    COMPLETED:
     // Write out summary statistics
     if (stats) {
