Index: trunk/psModules/src/imcombine/pmSubtractionKernels.c
===================================================================
--- trunk/psModules/src/imcombine/pmSubtractionKernels.c	(revision 15756)
+++ trunk/psModules/src/imcombine/pmSubtractionKernels.c	(revision 15809)
@@ -136,4 +136,5 @@
                         }
                     }
+                    preCalc->kernel[0][0] -= 1.0;
                 }
 
@@ -216,19 +217,4 @@
     }
 
-    // Subtract normalisation from all the others to maintain flux scaling
-    if (spatialOrder > 0) {
-        int numGaussians = fwhms->n;       // Number of Gaussians
-        for (int i = 0, index = 0; i < numGaussians; i++) {
-            for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) {
-                for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) {
-                    if (uOrder % 2 == 0 && vOrder % 2 == 0) {
-                        psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract
-                        kernel->kernel[0][0] -= 1.0;
-                    }
-                }
-            }
-        }
-    }
-
     if (psTraceGetLevel("psModules.imcombine.kernel") >= 10) {
         for (int i = 0; i < kernels->num; i++) {
@@ -246,5 +232,5 @@
                 }
             }
-            psTrace("psModules.imcombine.kernel", 10, "Kernel %d sum: %lf\n", i, sum);
+            psTrace("psModules.imcombine.kernel", 10, "Kernel %d sum: %le\n", i, sum);
         }
     }
@@ -447,19 +433,4 @@
     psStringPrepend(&kernels->description, "GUNK=");
     psStringAppend(&kernels->description, "+POIS(%d,%d)", inner, spatialOrder);
-
-    // Subtract unity from the kernels to maintain photometric flux scaling
-    int numGaussians = fwhms->n;       // Number of Gaussians
-    if (spatialOrder > 0) {
-        for (int i = 0, index = 0; i < numGaussians; i++) {
-            for (int uOrder = 0; uOrder <= orders->data.S32[i]; uOrder++) {
-                for (int vOrder = 0; vOrder <= orders->data.S32[i] - uOrder; vOrder++, index++) {
-                    if (uOrder % 2 == 0 && vOrder % 2 == 0) {
-                        psKernel *kernel = kernels->preCalc->data[index]; // Kernel to subtract
-                        kernel->kernel[0][0] -= 1.0;
-                    }
-                }
-            }
-        }
-    }
 
     int numISIS = kernels->num;         // Number of ISIS kernels
