Index: trunk/psModules/src/camera/pmFPAfile.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfile.c	(revision 12890)
+++ trunk/psModules/src/camera/pmFPAfile.c	(revision 13034)
@@ -17,4 +17,5 @@
 #include "pmFPAfile.h"
 #include "pmFPACopy.h"
+#include "pmConcepts.h"
 
 static void pmFPAfileFree(pmFPAfile *file)
@@ -326,6 +327,10 @@
     PS_ASSERT_PTR_NON_NULL(view, false);
 
+    // XXX this should be smarter (ie, only copy concepts from the current chips)
+    // but such a call is needed, so re-copy stuff rather than no copy
+    pmFPACopyConcepts (out, in);
+
     // pmFPAWrite takes care of all PHUs as needed
-    if ((view->chip == -1) || in->hdu) {
+    if (view->chip == -1) {
         status = pmFPACopyStructure (out, in, xBin, yBin);
         return status;
@@ -338,8 +343,8 @@
     pmChip *outChip = out->chips->data[view->chip];
 
-    if ((view->cell == -1) || inChip->hdu) {
+    if (view->cell == -1) {
         status = pmChipCopyStructure (outChip, inChip, xBin, yBin);
         return status;
-    }
+    } 
     if (view->cell >= inChip->cells->n) {
         psError(PS_ERR_IO, true, "Requested cell == %d>= inChip->cells->n == %ld",
@@ -350,10 +355,6 @@
     pmCell *outCell = outChip->cells->data[view->cell];
 
-    if ((view->readout == -1) || inCell->hdu) {
-        status = pmCellCopyStructure (outCell, inCell, xBin, yBin);
-        return status;
-    }
-    psError(PS_ERR_UNKNOWN, true, "Returning false");
-    return false;
+    status = pmCellCopyStructure (outCell, inCell, xBin, yBin);
+    return status;
 }
 
