Index: /trunk/pswarp/src/pswarpArguments.c
===================================================================
--- /trunk/pswarp/src/pswarpArguments.c	(revision 20311)
+++ /trunk/pswarp/src/pswarpArguments.c	(revision 20312)
@@ -134,4 +134,10 @@
     }
 
+    int numKernels = psMetadataLookupS32(&status, recipe, "INTERPOLATION.NUM");
+    if (!status) {
+        numKernels = 0;
+        psWarning("INTERPOLATION.NUM is not set in the recipe --- defaulting to %d", numKernels);
+    }
+
     float poorFrac = psMetadataLookupF32(&status, recipe, "POOR.FRAC"); // Frac of bad flux for a "poor"
     if (!status) {
@@ -153,4 +159,6 @@
     psMetadataAddStr(recipe, PS_LIST_TAIL, "INTERPOLATION.MODE", PS_META_REPLACE,
                      "Interpolation mode", name);
+    psMetadataAddS32(recipe, PS_LIST_TAIL, "INTERPOLATION.NUM", PS_META_REPLACE,
+                     "Interpolation pre-calculated kernels", numKernels);
     psMetadataAddF32(recipe, PS_LIST_TAIL, "POOR.FRAC", PS_META_REPLACE,
                      "Fraction of bad flux for a pixel to be marked as poor", poorFrac);
@@ -165,4 +173,6 @@
     psMetadataAddS32(config->arguments, PS_LIST_TAIL, "INTERPOLATION.MODE", 0,
                      "Interpolation mode", interpolationMode);
+    psMetadataAddS32(config->arguments, PS_LIST_TAIL, "INTERPOLATION.NUM", 0,
+                     "Interpolation pre-calculated kernels", numKernels);
     psMetadataAddF32(config->arguments, PS_LIST_TAIL, "POOR.FRAC", 0,
                      "Fraction of bad flux for a pixel to be marked as poor", poorFrac);
Index: /trunk/pswarp/src/pswarpTransformReadout.c
===================================================================
--- /trunk/pswarp/src/pswarpTransformReadout.c	(revision 20311)
+++ /trunk/pswarp/src/pswarpTransformReadout.c	(revision 20312)
@@ -15,4 +15,5 @@
     psImageInterpolateMode interpolationMode = psMetadataLookupS32(NULL, config->arguments,
                                                                    "INTERPOLATION.MODE"); // Mode for interp
+    int numKernels = psMetadataLookupS32(NULL, config->arguments, "INTERPOLATION.NUM"); // Number of kernels
 
     // load the recipe
@@ -66,5 +67,6 @@
     psImageInterpolation *interp = psImageInterpolationAlloc(interpolationMode, input->image,
                                                              input->weight, input->mask, maskIn,
-                                                             NAN, NAN, maskBad, maskPoor, poorFrac, 0);
+                                                             NAN, NAN, maskBad, maskPoor, poorFrac,
+                                                             numKernels);
 
     if (input->weight && !output->weight) {
