Index: trunk/ppStack/src/ppStackMatch.c
===================================================================
--- trunk/ppStack/src/ppStackMatch.c	(revision 18206)
+++ trunk/ppStack/src/ppStackMatch.c	(revision 18293)
@@ -37,4 +37,5 @@
     int renormWidth = psMetadataLookupS32(&mdok, config->arguments,
                                           "RENORM.WIDTH"); // Width for renormalisation box
+    float penalty = psMetadataLookupF32(NULL, config->arguments, "PENALTY"); // Penalty for wideness
 
     if (!pmReadoutMaskNonfinite(readout, maskBad)) {
@@ -115,6 +116,6 @@
         if (!pmSubtractionMatch(output, NULL, readout, fake, footprint, regionSize, spacing, threshold,
                                 sources, stampsName, type, size, order, widths, orders, inner, ringsOrder,
-                                binning, optimum, optWidths, optOrder, optThresh, iter, rej, maskBad,
-                                maskBlank, badFrac, PM_SUBTRACTION_MODE_1)) {
+                                binning, penalty, optimum, optWidths, optOrder, optThresh, iter, rej,
+                                maskBad, maskBlank, badFrac, PM_SUBTRACTION_MODE_1)) {
             psError(PS_ERR_UNKNOWN, false, "Unable to match images.");
             psFree(fake);
@@ -151,5 +152,6 @@
                          PS_DATA_REGION | PS_META_DUPLICATE_OK, "Fake subtraction region", region);
         psFree(region);
-        pmSubtractionKernels *kernels = pmSubtractionKernelsPOIS(FAKE_SIZE, 0, PM_SUBTRACTION_MODE_1);
+        pmSubtractionKernels *kernels = pmSubtractionKernelsPOIS(FAKE_SIZE, 0, penalty,
+                                                                 PM_SUBTRACTION_MODE_1);
         // Set solution to delta function
         kernels->solution1 = psVectorAlloc(kernels->num + 2, PS_TYPE_F64);
