Index: trunk/psModules/src/camera/pmFPAConstruct.c
===================================================================
--- trunk/psModules/src/camera/pmFPAConstruct.c	(revision 12603)
+++ trunk/psModules/src/camera/pmFPAConstruct.c	(revision 12620)
@@ -139,13 +139,17 @@
     }
     fpa->hdu = psMemIncrRefCounter(hdu);
-    bool success = true;                // Success of reading concepts
-    if (hdu->header && !pmConceptsReadFPA(fpa, PM_CONCEPT_SOURCE_DEFAULTS | PM_CONCEPT_SOURCE_HEADER,
-                                          false, NULL)) {
-        psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from header.\n");
-        success = false;
-    }
     pmFPASetFileStatus(fpa, true);
 
-    return success;
+    pmConceptSource source = 0;         // Source for concepts
+    if (hdu->header) {
+        if (hdu->blankPHU) {
+            source = PM_CONCEPT_SOURCE_PHU;
+        } else {
+            source = PM_CONCEPT_SOURCE_HEADER;
+        }
+    }
+    source |= PM_CONCEPT_SOURCE_DEFAULTS;
+
+    return pmConceptsReadFPA(fpa, source, false, NULL);
 }
 
@@ -166,13 +170,15 @@
     }
     chip->hdu = psMemIncrRefCounter(hdu);
-    bool success = true;                // Success of reading concepts
-    if (hdu->header && !pmConceptsReadChip(chip, PM_CONCEPT_SOURCE_DEFAULTS | PM_CONCEPT_SOURCE_HEADER,
-                                           true, false, NULL)) {
-        psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from header.\n");
-        success = false;
-    }
     pmChipSetFileStatus(chip, true);
-
-    return success;
+    pmConceptSource source = 0;         // Source for concepts
+    if (hdu->header) {
+        if (hdu->blankPHU) {
+            source = PM_CONCEPT_SOURCE_PHU;
+        } else {
+            source = PM_CONCEPT_SOURCE_HEADER;
+        }
+    }
+    source |= PM_CONCEPT_SOURCE_DEFAULTS;
+    return pmConceptsReadChip(chip, source, true, false, NULL);
 }
 
@@ -193,13 +199,15 @@
     }
     cell->hdu = psMemIncrRefCounter(hdu);
-    bool success = true;                // Success of reading concepts
-    if (hdu->header && !pmConceptsReadCell(cell, PM_CONCEPT_SOURCE_DEFAULTS | PM_CONCEPT_SOURCE_HEADER,
-                                           true, NULL)) {
-        psError(PS_ERR_UNKNOWN, false, "Unable to read concepts from header.\n");
-        success = false;
-    }
     pmCellSetFileStatus(cell, true);
-
-    return success;
+    pmConceptSource source = 0;         // Source for concepts
+    if (hdu->header) {
+        if (hdu->blankPHU) {
+            source = PM_CONCEPT_SOURCE_PHU;
+        } else {
+            source = PM_CONCEPT_SOURCE_HEADER;
+        }
+    }
+    source |= PM_CONCEPT_SOURCE_DEFAULTS;
+    return pmConceptsReadCell(cell, source, true, NULL);
 }
 
@@ -1205,4 +1213,6 @@
     psFree(fpaname);
 
+    if (!pm
+
     return view;
 }
