Index: trunk/psastro/src/psastroMosaicAstrom.c
===================================================================
--- trunk/psastro/src/psastroMosaicAstrom.c	(revision 19518)
+++ trunk/psastro/src/psastroMosaicAstrom.c	(revision 20269)
@@ -63,5 +63,11 @@
 
     // save WCS and analysis metadata in update header.
-    psMetadata *updates = psMetadataAlloc();
+    // (pull or create local view to entry on readout->analysis)
+    psMetadata *updates = psMetadataLookupMetadata (&status, fpa->analysis, "PSASTRO.HEADER");
+    if (!updates) {
+	updates = psMetadataAlloc ();
+	psMetadataAddMetadata (fpa->analysis, PS_LIST_TAIL, "PSASTRO.HEADER",  PS_META_REPLACE, "psastro header stats", updates);
+	psFree (updates);
+    }
     if (!pmAstromWriteBilevelMosaic (updates, fpa, NONLIN_TOL)) {
 	psAbort ("failed to save header terms");
@@ -70,7 +76,4 @@
     // write the elapsed time here; this will be updated in psastroMosaicAstrometry, if called
     psMetadataAddF32 (updates, PS_LIST_TAIL, "DT_ASTR", PS_META_REPLACE, "elapsed psastro time", psTimerMark ("psastroAnalysis"));
-
-    psMetadataAddMetadata (fpa->analysis, PS_LIST_TAIL, "PSASTRO.HEADER",  PS_META_REPLACE, "psastro header stats", updates);
-    psFree (updates);
 
     // update the headers based on the results
