Index: trunk/psModules/src/camera/pmFPAConstruct.c
===================================================================
--- trunk/psModules/src/camera/pmFPAConstruct.c	(revision 7499)
+++ trunk/psModules/src/camera/pmFPAConstruct.c	(revision 7515)
@@ -577,4 +577,6 @@
     }
 
+    // is FPAname already defined, new name must match it
+    // XXX if not, is it an error?
     const char *currentFPAname = psMetadataLookupStr(&mdok, fpa->concepts, "FPA.NAME"); // Current name
     if (mdok && currentFPAname && strlen(currentFPAname) > 0 && strcmp(currentFPAname, newFPAname) != 0) {
@@ -694,5 +696,10 @@
         psFree(chipName);
 
-        processContents(fpa, chip, cell, phdu, level, content, format);
+        if (processContents(fpa, chip, cell, phdu, level, content, format) < 0) {
+            psError(PS_ERR_IO, false, "Error setting CONTENTS");
+            psFree(phdu);
+            psFree(view);
+            return NULL;
+        }
         psFree(phdu);
         return view;
@@ -758,5 +765,11 @@
         hdu->format = psMemIncrRefCounter(format);
 
-        processContents(fpa, chip, cell, hdu, level, contentsItem->data.V, format);
+        if (processContents(fpa, chip, cell, hdu, level, contentsItem->data.V, format) < 0) {
+            psError(PS_ERR_IO, false, "Error setting CONTENTS");
+            psFree(view);
+            psFree(hdu);
+            psFree(contentsIter);
+            return NULL;
+        }
         psFree(hdu);
     }
