Index: trunk/ppStack/src/ppStackCombineFinal.c
===================================================================
--- trunk/ppStack/src/ppStackCombineFinal.c	(revision 23753)
+++ trunk/ppStack/src/ppStackCombineFinal.c	(revision 23767)
@@ -47,4 +47,14 @@
     }
 
+    // Sum covariance matrices
+    for (int i = 0; i < options->num; i++) {
+        if (options->inputMask->data.U8[i]) {
+            psFree(options->covariances->data[i]);
+            options->covariances->data[i] = NULL;
+        }
+    }
+    options->outRO->covariance = psImageCovarianceAverage(options->covariances);
+    psFree(options->covariances); options->covariances = NULL;
+
 #ifdef TESTING
     pmStackVisualPlotTestImage(outRO->image, "combined_initial.fits");
Index: trunk/ppStack/src/ppStackCombineInitial.c
===================================================================
--- trunk/ppStack/src/ppStackCombineInitial.c	(revision 23753)
+++ trunk/ppStack/src/ppStackCombineInitial.c	(revision 23767)
@@ -87,13 +87,4 @@
 #endif
 
-    // Sum covariance matrices
-    for (int i = 0; i < options->num; i++) {
-        if (options->inputMask->data.U8[i]) {
-            psFree(options->covariances->data[i]);
-            options->covariances->data[i] = NULL;
-        }
-    }
-    options->outRO->covariance = psImageCovarianceSum(options->covariances);
-    psFree(options->covariances); options->covariances = NULL;
     psFree(options->matchChi2); options->matchChi2 = NULL;
 
