Index: trunk/psModules/src/camera/pmFPAExtent.c
===================================================================
--- trunk/psModules/src/camera/pmFPAExtent.c	(revision 13499)
+++ trunk/psModules/src/camera/pmFPAExtent.c	(revision 13655)
@@ -4,4 +4,5 @@
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmHDUUtils.h"
 
 // return cell pixels bounding the readout
@@ -18,8 +19,17 @@
     }
 
+    int xSize = 0;
+    int ySize = 0;
+
     if (!image) {
-        // Don't have anything to base the true extent on, so have to give the largest possible extent
-        int xSize = psMetadataLookupS32(NULL, readout->parent->concepts, "CELL.XSIZE");
-        int ySize = psMetadataLookupS32(NULL, readout->parent->concepts, "CELL.YSIZE");
+	pmHDU *hdu = pmHDUFromReadout (readout);
+	if (hdu && hdu->header) {
+	    xSize = psMetadataLookupS32(NULL, hdu->header, "NAXIS1");
+	    ySize = psMetadataLookupS32(NULL, hdu->header, "NAXIS2");
+	} else {
+        // Don't have anything to base the true extent on, so have to give the hardwired value (largest possible extent)
+	    xSize = psMetadataLookupS32(NULL, readout->parent->concepts, "CELL.XSIZE");
+	    ySize = psMetadataLookupS32(NULL, readout->parent->concepts, "CELL.YSIZE");
+	}
         return psRegionAlloc(0, xSize, 0, ySize);
     }
