Index: trunk/psphot/src/psphotStackImageLoop.c
===================================================================
--- trunk/psphot/src/psphotStackImageLoop.c	(revision 29936)
+++ trunk/psphot/src/psphotStackImageLoop.c	(revision 30624)
@@ -101,5 +101,5 @@
 */
 
-# define UPDATE_HEADER 0
+# define UPDATE_HEADER 1
 
 bool GetAstrometryFPA (pmConfig *config, pmFPAview *view) {
@@ -174,12 +174,13 @@
 	pmChip *outChip = pmFPAviewThisChip(view, output->fpa); ///< Chip in the output
 
-# if (UPDATE_HEADER)
 	pmHDU *outHDU = pmFPAviewThisHDU (view, output->fpa);
 	if (!outHDU) {
-	    pmFPAAddSourceFromView(output->fpa, "name", view, output->format);
+	    pmFPAAddSourceFromView(output->fpa, view, output->format);
 	    outHDU = pmFPAviewThisHDU (view, output->fpa);
 	    psAssert (outHDU, "failed to make HDU");
 	}
-# endif
+	if (!outHDU->header) {
+	  outHDU->header = psMetadataAlloc();
+	}
 
         if (bilevelAstrometry) {
@@ -188,10 +189,8 @@
 		continue;
 	    }
-# if (UPDATE_HEADER)
 	    if (!pmAstromWriteBilevelChip(outHDU->header, outChip, WCS_NONLIN_TOL)) {
 		psWarning("Unable to generate WCS header.");
 		continue;
 	    }
-# endif
         } else {
             // we use a default FPA pixel scale of 1.0
@@ -200,10 +199,8 @@
 		continue;
             }
-# if (UPDATE_HEADER)
-	    if (UPDATE_HEADER && !pmAstromWriteWCS(outHDU->header, output->fpa, outChip, WCS_NONLIN_TOL)) {
+	    if (!pmAstromWriteWCS(outHDU->header, output->fpa, outChip, WCS_NONLIN_TOL)) {
 		psWarning("Unable to generate WCS header.");
 		continue;
 	    }
-# endif
 	}
     }
@@ -225,16 +222,17 @@
 	psAssert (output, "missing file?");
 
-# if (UPDATE_HEADER)
 	pmHDU *PHU = pmFPAviewThisPHU(view, output->fpa);
 	if (!PHU) {
-	    pmFPAAddSourceFromView(output->fpa, "name", view, output->format);
+	    pmFPAAddSourceFromView(output->fpa, view, output->format);
 	    PHU = pmFPAviewThisPHU (view, output->fpa);
 	    psAssert (PHU, "failed to make PHU");
 	}
+	if (!PHU->header) {
+	  PHU->header = psMetadataAlloc();
+	}
 
 	if (!pmAstromWriteBilevelMosaic(PHU->header, output->fpa, WCS_NONLIN_TOL)) {
 	    psWarning("Unable to generate WCS header.");
 	}
-# endif
     }
 
