Index: trunk/ppSub/src/ppSubCamera.c
===================================================================
--- trunk/ppSub/src/ppSubCamera.c	(revision 13737)
+++ trunk/ppSub/src/ppSubCamera.c	(revision 13738)
@@ -82,5 +82,5 @@
 
     // Output image
-    pmFPAfile *output = pmFPAfileDefineOutput(config, input->fpa, "PPSUB.OUTPUT");
+    pmFPAfile *output = pmFPAfileDefineSkycell(config, NULL, "PPSUB.OUTPUT");
     if (!output) {
         psError(PS_ERR_IO, false, _("Unable to generate output file from PPSUB.OUTPUT"));
@@ -93,5 +93,5 @@
 
     // Output mask
-    pmFPAfile *outMask = pmFPAfileDefineOutput(config, output->fpa, "PPSUB.OUTPUT.MASK");
+    pmFPAfile *outMask = pmFPAfileDefineSkycell(config, output->fpa, "PPSUB.OUTPUT.MASK");
     if (!outMask) {
         psError(PS_ERR_IO, false, _("Unable to generate output file from PPSUB.OUTPUT.MASK"));
@@ -104,13 +104,24 @@
 
     // Output weight
-    pmFPAfile *outWeight = pmFPAfileDefineOutput(config, output->fpa, "PPSUB.OUTPUT.WEIGHT");
-    if (!outWeight) {
-        psError(PS_ERR_IO, false, _("Unable to generate output file from PPSUB.OUTPUT.WEIGHT"));
+    if (inputWeight && refWeight) {
+        pmFPAfile *outWeight = pmFPAfileDefineSkycell(config, output->fpa, "PPSUB.OUTPUT.WEIGHT");
+        if (!outWeight) {
+            psError(PS_ERR_IO, false, _("Unable to generate output file from PPSUB.OUTPUT.WEIGHT"));
+            return false;
+        }
+        if (outWeight->type != PM_FPA_FILE_WEIGHT) {
+            psError(PS_ERR_IO, true, "PPSUB.OUTPUT.WEIGHT is not of type WEIGHT");
+            return false;
+        }
+    }
+
+    pmFPAview *view = pmFPAviewAlloc(0);// View to PHU
+    const char *name = psMetadataLookupStr(NULL, input->fpa->concepts, "FPA.NAME");
+    if (!pmFPAAddSourceFromView(output->fpa, name, view, output->format)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to add PHU to output.");
+        psFree(view);
         return false;
     }
-    if (outWeight->type != PM_FPA_FILE_WEIGHT) {
-        psError(PS_ERR_IO, true, "PPSUB.OUTPUT.WEIGHT is not of type WEIGHT");
-        return false;
-    }
+    psFree(view);
 
     // psPhot input
