Index: trunk/psastro/src/psastroMaskUpdates.c
===================================================================
--- trunk/psastro/src/psastroMaskUpdates.c	(revision 28089)
+++ trunk/psastro/src/psastroMaskUpdates.c	(revision 30873)
@@ -137,4 +137,6 @@
     double REFSTAR_MASK_SATSPIKE_MAG_MAX   = psMetadataLookupF32 (&status, recipe, "REFSTAR_MASK_SATSPIKE_MAG_MAX");
     double REFSTAR_MASK_SATSPIKE_WIDTH     = psMetadataLookupF32 (&status, recipe, "REFSTAR_MASK_SATSPIKE_WIDTH");
+    double REFSTAR_MASK_SATSPIKE_L0        = psMetadataLookupF32 (&status, recipe, "REFSTAR_MASK_SATSPIKE_L0");
+    double REFSTAR_MASK_SATSPIKE_WIDTH_SLOPE = psMetadataLookupF32 (&status, recipe, "REFSTAR_MASK_SATSPIKE_WIDTH_SLOPE");
     double REFSTAR_MASK_SATSPIKE_OFFSET    = psMetadataLookupF32 (&status, recipe, "REFSTAR_MASK_SATSPIKE_OFFSET");
     double REFSTAR_MASK_BLEED_MAG_MAX      = psMetadataLookupF32 (&status, recipe, "REFSTAR_MASK_BLEED_MAG_MAX");
@@ -325,5 +327,10 @@
 			  spikeLength = 0.0;
 			}
-                        // XXX we can make the width depend on the spike as well...
+			// XXX we can make the width depend on the spike as well...
+			// CZW: 2011-02-18 it does so now. It's a weak function (slope = 0.01), but it should help
+			if (spikeLength > REFSTAR_MASK_SATSPIKE_L0) {
+			  spikeWidth += 0.5 * (spikeLength - REFSTAR_MASK_SATSPIKE_L0) * REFSTAR_MASK_SATSPIKE_WIDTH_SLOPE;
+			}
+
                         // The length should also be a function of the image background level
 
