Index: trunk/psModules/src/camera/pmFPAConstruct.c
===================================================================
--- trunk/psModules/src/camera/pmFPAConstruct.c	(revision 7311)
+++ trunk/psModules/src/camera/pmFPAConstruct.c	(revision 7312)
@@ -137,13 +137,12 @@
     }
     fpa->hdu = psMemIncrRefCounter(hdu);
-    if (hdu->header) {
-        if (!pmConceptsReadFPA(fpa, PM_CONCEPT_SOURCE_HEADER, NULL)) {
-            psError(PS_ERR_UNKNOWN, false, "Failed to read concepts for FPA");
-            return false;
-        }
+    bool success = true;                // Success of reading concepts
+    if (hdu->header && !pmConceptsReadFPA(fpa, PM_CONCEPT_SOURCE_HEADER, NULL)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from header.\n");
+        success = false;
     }
     pmFPASetFileStatus(fpa, true);
 
-    return true;
+    return success;
 }
 
@@ -164,10 +163,12 @@
     }
     chip->hdu = psMemIncrRefCounter(hdu);
-    if (hdu->header) {
-        pmConceptsReadChip(chip, PM_CONCEPT_SOURCE_HEADER, true, NULL);
+    bool success = true;                // Success of reading concepts
+    if (hdu->header && !pmConceptsReadChip(chip, PM_CONCEPT_SOURCE_HEADER, true, NULL)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from header.\n");
+        success = false;
     }
     pmChipSetFileStatus(chip, true);
 
-    return true;
+    return success;
 }
 
@@ -188,10 +189,12 @@
     }
     cell->hdu = psMemIncrRefCounter(hdu);
-    if (hdu->header) {
-        pmConceptsReadCell(cell, PM_CONCEPT_SOURCE_HEADER, true, NULL);
+    bool success = true;                // Success of reading concepts
+    if (hdu->header && !pmConceptsReadCell(cell, PM_CONCEPT_SOURCE_HEADER, true, NULL)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from header.\n");
+        success = false;
     }
     pmCellSetFileStatus(cell, true);
 
-    return true;
+    return success;
 }
 
@@ -339,6 +342,8 @@
         }
         newCell->config = psMemIncrRefCounter(cellData);
-        if (!pmConceptsReadCell(newCell, PM_CONCEPT_SOURCE_CAMERA | PM_CONCEPT_SOURCE_DEFAULTS, false, NULL)) {
-            psError(PS_ERR_IO, false, "Reading concepts for cell %d", numCells);
+        if (!pmConceptsReadCell(newCell, PM_CONCEPT_SOURCE_CAMERA | PM_CONCEPT_SOURCE_DEFAULTS,
+                                false, NULL)) {
+            psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from camera and defaults for chip %s, "
+                    "cell %s, type %s.  Attempting to proceed anyway...\n", chipName, cellName, cellType);
             return -1;
         }
@@ -735,5 +740,8 @@
     psFree(contentsIter);
 
-    pmConceptsReadFPA(fpa, PM_CONCEPT_SOURCE_DEFAULTS, NULL);
+    if (!pmConceptsReadFPA(fpa, PM_CONCEPT_SOURCE_DEFAULTS, NULL)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from defaults for FPA %s.  Attempting to "
+                "proceed anyway.\n", currentFPAname);
+    }
 
     return view;
