Index: /branches/pap/ppStack/src/ppStackCombineFinal.c
===================================================================
--- /branches/pap/ppStack/src/ppStackCombineFinal.c	(revision 25805)
+++ /branches/pap/ppStack/src/ppStackCombineFinal.c	(revision 25806)
@@ -48,26 +48,28 @@
 
     // Sum covariance matrices
-    double sumWeights = 0.0;            // Sum of weights
-    for (int i = 0; i < options->num; i++) {
-        if (options->inputMask->data.U8[i]) {
-            psFree(options->covariances->data[i]);
-            options->covariances->data[i] = NULL;
-            continue;
+    if (options->covariances) {
+        double sumWeights = 0.0;            // Sum of weights
+        for (int i = 0; i < options->num; i++) {
+            if (options->inputMask->data.U8[i]) {
+                psFree(options->covariances->data[i]);
+                options->covariances->data[i] = NULL;
+                continue;
+            }
+            psKernel *covar = options->covariances->data[i]; // Covariance matrix
+            if (!covar) {
+                continue;
+            }
+            float weight = options->weightings->data.F32[i]; // Weight to apply
+            psBinaryOp(covar->image, covar->image, "*", psScalarAlloc(weight, PS_TYPE_F32));
+            sumWeights += weight;
         }
-        psKernel *covar = options->covariances->data[i]; // Covariance matrix
-        if (!covar) {
-            continue;
+        if (sumWeights > 0.0) {
+            pmReadout *outRO = options->outRO;  // Output readout
+            outRO->covariance = psImageCovarianceSum(options->covariances);
+            psBinaryOp(outRO->covariance->image, outRO->covariance->image, "/",
+                       psScalarAlloc(sumWeights, PS_TYPE_F32));
+            psFree(options->covariances); options->covariances = NULL;
+            psImageCovarianceTransfer(outRO->variance, outRO->covariance);
         }
-        float weight = options->weightings->data.F32[i]; // Weight to apply
-        psBinaryOp(covar->image, covar->image, "*", psScalarAlloc(weight, PS_TYPE_F32));
-        sumWeights += weight;
-    }
-    if (sumWeights > 0.0) {
-        pmReadout *outRO = options->outRO;  // Output readout
-        outRO->covariance = psImageCovarianceSum(options->covariances);
-        psBinaryOp(outRO->covariance->image, outRO->covariance->image, "/",
-                   psScalarAlloc(sumWeights, PS_TYPE_F32));
-        psFree(options->covariances); options->covariances = NULL;
-        psImageCovarianceTransfer(outRO->variance, outRO->covariance);
     }
 
