Index: trunk/psModules/src/camera/pmFPACopy.c
===================================================================
--- trunk/psModules/src/camera/pmFPACopy.c	(revision 21363)
+++ trunk/psModules/src/camera/pmFPACopy.c	(revision 21510)
@@ -457,4 +457,31 @@
     psMetadataCopy(target->parent->concepts, source->parent->concepts);
 
+    // Update the astrometric parameters
+    target->toFPA = psMemIncrRefCounter (source->toFPA);
+    target->fromFPA = psMemIncrRefCounter (source->fromFPA);
+
+    // Update the parent fpa astrometry parameters, or check that they match
+    pmFPA *targetFPA = target->parent;
+    pmFPA *sourceFPA = source->parent;
+    // XXX should we require that both of these exist?
+
+    if (targetFPA && sourceFPA) {
+	if (targetFPA->toSky) {
+	    psAssert (targetFPA->toSky == sourceFPA->toSky, "chips within FPA have inconsistent astrometry references");
+	} else {
+	    targetFPA->toSky = psMemIncrRefCounter (sourceFPA->toSky);
+	}
+	if (targetFPA->toTPA) {
+	    psAssert (targetFPA->toTPA == sourceFPA->toTPA, "chips within FPA have inconsistent astrometry references");
+	} else {
+	    targetFPA->toTPA = psMemIncrRefCounter (sourceFPA->toTPA);
+	}
+	if (targetFPA->fromTPA) {
+	    psAssert (targetFPA->fromTPA == sourceFPA->fromTPA, "chips within FPA have inconsistent astrometry references");
+	} else {
+	    targetFPA->fromTPA = psMemIncrRefCounter (sourceFPA->fromTPA);
+	}
+    }
+
     target->data_exists = true;
     return status;
