Index: trunk/ppImage/src/ppImageLoop.c
===================================================================
--- trunk/ppImage/src/ppImageLoop.c	(revision 10439)
+++ trunk/ppImage/src/ppImageLoop.c	(revision 10589)
@@ -142,12 +142,24 @@
             }
 
+#if 0
             if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) {
                 return false;
             }
-        }
-
-        ppImageMosaicChip(config, view, "PPIMAGE.OUTPUT.CHIP", "PPIMAGE.OUTPUT");
-        ppImageRebinChip(config, view, "PPIMAGE.BIN1", "PPIMAGE.OUTPUT.CHIP");
-        ppImageRebinChip(config, view, "PPIMAGE.BIN2", "PPIMAGE.OUTPUT.CHIP");
+#endif
+
+        }
+
+        if (!ppImageMosaicChip(config, view, "PPIMAGE.OUTPUT.CHIP", "PPIMAGE.OUTPUT")) {
+            psError(PS_ERR_UNKNOWN, false, "Unable to mosaic chip.\n");
+            return false;
+        }
+        if (!ppImageRebinChip(config, view, "PPIMAGE.BIN1", "PPIMAGE.OUTPUT.CHIP")) {
+            psError(PS_ERR_UNKNOWN, false, "Unable to bin chip.\n");
+            return false;
+        }
+        if (!ppImageRebinChip(config, view, "PPIMAGE.BIN2", "PPIMAGE.OUTPUT.CHIP")) {
+            psError(PS_ERR_UNKNOWN, false, "Unable to bin chip.\n");
+            return false;
+        }
 
         // we perform photometry on the readouts of this chip in the output
@@ -156,4 +168,17 @@
         }
 
+        // Close cells
+        view->cell = -1;
+        while ((cell = pmFPAviewNextCell(view, input->fpa, 1)) != NULL) {
+            if (!cell->process || !cell->file_exists) {
+                continue;
+            }
+
+            if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) {
+                return false;
+            }
+        }
+
+        // Close chip
         if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) {
             return false;
