Index: trunk/psModules/src/camera/pmFPAfileIO.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfileIO.c	(revision 15180)
+++ trunk/psModules/src/camera/pmFPAfileIO.c	(revision 15218)
@@ -37,4 +37,5 @@
 #include "pmSourcePlots.h"
 #include "pmFPAConstruct.h"
+#include "pmConcepts.h"
 
 // attempt create, read, write, close, or free pmFPAfiles available in files files are
@@ -374,4 +375,37 @@
             psError(PS_ERR_UNKNOWN, false, "Unable to set compression options for %s (%s) (%d:%d:%d)\n",
                     file->filename, file->name, view->chip, view->cell, view->readout);
+            return false;
+        }
+    }
+
+
+    // Ensure headers and all are updated
+    // This is here so that the individual write functions (e.g., images, PSFs, sources, etc) don't have to
+    // take care of all this themselves (because they generally don't).
+    {
+        pmHDU *hdu = pmFPAviewThisHDU(view, file->fpa);
+        if (hdu) {
+            pmConfigConformHeader(hdu->header, file->format);
+        }
+
+        pmFPA *fpa = file->fpa;         // FPA of interest
+        pmChip *chip = pmFPAviewThisChip(view, file->fpa); // Chip of interest, or NULL
+        pmCell *cell = pmFPAviewThisCell(view, file->fpa); // Cell of interest, or NULL
+        pmFPAUpdateNames(fpa, chip, cell);
+
+        pmConceptSource sources = PM_CONCEPT_SOURCE_HEADER | PM_CONCEPT_SOURCE_CELLS |
+            PM_CONCEPT_SOURCE_DEFAULTS; // Concept sources to write
+        if (cell) {
+            if (!pmConceptsWriteCell(cell, sources, true, NULL)) {
+                psError(PS_ERR_IO, false, "Unable to write concepts for cell.\n");
+                return false;
+            }
+        } else if (chip) {
+            if (!pmConceptsWriteChip(chip, sources, true, true, NULL)) {
+                psError(PS_ERR_IO, false, "Unable to write concepts for chip.\n");
+                return false;
+            }
+        } else if (!pmConceptsWriteFPA(fpa, sources, true, NULL)) {
+            psError(PS_ERR_IO, false, "Unable to write concepts for FPA.\n");
             return false;
         }
