Index: trunk/psModules/src/camera/pmFPAfileIO.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfileIO.c	(revision 7711)
+++ trunk/psModules/src/camera/pmFPAfileIO.c	(revision 7726)
@@ -98,5 +98,4 @@
         // open the FITS types:
     case PM_FPA_FILE_IMAGE:
-    case PM_FPA_FILE_CMF:
         psTrace ("pmFPAfile", 5, "opening %s (type: %d)\n", file->filename, file->type);
         file->fits = psFitsOpen (file->filename, mode);
@@ -107,5 +106,5 @@
         file->state = PM_FPA_STATE_OPEN;
 
-        // In some cases, I need to call pmFPAAddSourceFromHeader after I've opened the file
+        // In some cases, I need to call pmFPAAddSourceFromHeader after I've opened the file,
         // specifically if I have not called this function on startup.  This happens for the
         // images supplied by the detrend database, which are only identified here (above).
@@ -160,18 +159,18 @@
         }
         if (file->mode == PM_FPA_MODE_WRITE) {
-            pmChip *chip;
-            pmCell *cell;
             switch (file->fileLevel) {
             case PM_FPA_LEVEL_FPA:
-                pmFPAWrite (file->fpa, file->fits, NULL, false, false);
+                pmFPAWrite (file->fpa, file->fits, NULL, true, false);
                 break;
-            case PM_FPA_LEVEL_CHIP:
-                chip = pmFPAviewThisChip(view, file->fpa);
-                pmChipWrite (chip, file->fits, NULL, false, false);
-                break;
-            case PM_FPA_LEVEL_CELL:
-                cell = pmFPAviewThisCell(view, file->fpa);
-                pmCellWrite(cell, file->fits, NULL, false);
-                break;
+            case PM_FPA_LEVEL_CHIP: {
+                    pmChip *chip = pmFPAviewThisChip(view, file->fpa);
+                    pmChipWrite (chip, file->fits, NULL, true, false);
+                    break;
+                }
+            case PM_FPA_LEVEL_CELL: {
+                    pmCell *cell = pmFPAviewThisCell(view, file->fpa);
+                    pmCellWrite(cell, file->fits, NULL, true);
+                    break;
+                }
             default:
                 psAbort ("pmFPAfileIO", "fileLevel not correctly set");
@@ -179,4 +178,15 @@
             }
         }
+        break;
+
+        // open the FITS object files
+    case PM_FPA_FILE_CMF:
+        psTrace ("pmFPAfile", 5, "opening %s (type: %d)\n", file->filename, file->type);
+        file->fits = psFitsOpen (file->filename, mode);
+        if (file->fits == NULL) {
+            psError(PS_ERR_IO, false, "error opening file %s\n", file->filename);
+            return false;
+        }
+        file->state = PM_FPA_STATE_OPEN;
         break;
 
