Index: trunk/psModules/src/camera/pmFPACopy.c
===================================================================
--- trunk/psModules/src/camera/pmFPACopy.c	(revision 21510)
+++ trunk/psModules/src/camera/pmFPACopy.c	(revision 22687)
@@ -452,8 +452,8 @@
     // Update the concepts
     psMetadataItem *chipName = psMemIncrRefCounter(psMetadataLookup(target->concepts, "CHIP.NAME"));
-    psMetadataCopy(target->concepts, source->concepts);
+    pmConceptsCopyChip(target, source, false);
     psMetadataAddItem(target->concepts, chipName, PS_LIST_TAIL, PS_META_REPLACE);
     psFree(chipName);
-    psMetadataCopy(target->parent->concepts, source->parent->concepts);
+    pmConceptsCopyFPA(target->parent, source->parent, false, false);
 
     // Update the astrometric parameters
@@ -467,19 +467,19 @@
 
     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);
-	}
+        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);
+        }
     }
 
@@ -525,5 +525,5 @@
 
     // Update the concepts
-    psMetadataCopy(targetChip->concepts, sourceChip->concepts);
+    pmConceptsCopyChip(targetChip, sourceChip, false);
 
     // update the attributes
@@ -572,5 +572,5 @@
 
     // Update the concepts
-    psMetadataCopy(target->concepts, source->concepts);
+    pmConceptsCopyFPA(target, source, false, false);
 
     return status;
