Index: trunk/pstamp/src/ppstampMakeStamp.c
===================================================================
--- trunk/pstamp/src/ppstampMakeStamp.c	(revision 25688)
+++ trunk/pstamp/src/ppstampMakeStamp.c	(revision 25701)
@@ -71,13 +71,22 @@
 
     // copy the fpa concepts
-    pmConceptsCopyFPA(output->fpa, input->fpa, true, true);
-    // Need to fix up the trimsec and biassec to correspond to the output
+    pmConceptsCopyFPA(output->fpa, input->fpa, false, false);
+    pmConceptsCopyChip(outChip, inChip, false);
     pmCell *outCell = outChip->cells->data[0]; // The only output cell
-    psMetadataItem *trimsec = psMetadataLookup(outCell->concepts, "CELL.TRIMSEC");
-    psFree(trimsec->data.V);
-    trimsec->data.V = NULL;
-    psMetadataItem *biassec = psMetadataLookup(outCell->concepts, "CELL.BIASSEC");
-    psFree(biassec->data.V);
-    trimsec->data.V = psListAlloc(NULL);
+
+    if (inChip->cells->n == 1) {
+        pmConceptsCopyCell(outCell, inChip->cells->data[0]);
+        // Need to fix up the trimsec and biassec to correspond to the output
+        psMetadataItem *trimsec = psMetadataLookup(outCell->concepts, "CELL.TRIMSEC");
+        psFree(trimsec->data.V);
+        trimsec->data.V = NULL;
+        psMetadataItem *biassec = psMetadataLookup(outCell->concepts, "CELL.BIASSEC");
+        psFree(biassec->data.V);
+        trimsec->data.V = psListAlloc(NULL);
+    } else {
+        psList *inCells = psArrayToList(inChip->cells); // Input cells
+        pmConceptsAverageCells(outCell, inCells, NULL, NULL, false);
+        psFree(inCells);
+    }
 
     // If input had WCS convert it for stamp
