Index: trunk/archive/scripts/src/phase2/papPhase2.c
===================================================================
--- trunk/archive/scripts/src/phase2/papPhase2.c	(revision 5464)
+++ trunk/archive/scripts/src/phase2/papPhase2.c	(revision 5467)
@@ -516,12 +516,10 @@
 				if (coeff->type.type != PS_TYPE_F64) {
 				    psVector *temp = psVectorCopy(NULL, coeff, PS_TYPE_F64); // F64 version
-				    psFree(coeff);
 				    coeff = temp;
 				}
-				psPolynomial1D *correction = psPolynomial1DAlloc(PS_POLYNOMIAL_ORD,
-										 coeff->n + 1);
-				for (int i = 0; i < coeff->n; i++) {
-				    correction->coeff[i] = coeff->data.F64[i];
-				}
+				psPolynomial1D *correction = psPolynomial1DAlloc(coeff->n - 1,
+										 PS_POLYNOMIAL_ORD);
+				psFree(correction->coeff);
+				correction->coeff = psMemIncrRefCounter(coeff->data.F64);
 				(void)pmNonLinearityPolynomial(inputReadout, correction);
 				psFree(coeff);
@@ -541,5 +539,8 @@
 				    (void)pmNonLinearityLookup(inputReadout, table);
 #else
-				    printf("XXX: Non-linearity with lookup table not yet implemented.\n");
+				    psVector *influx = table->values->data[0];
+				    psVector *outflux = table->values->data[1];
+				    (void)pmNonLinearityLookup(inputReadout, table->values->data[0],
+							       table->values->data[1]);
 #endif
 				}
