Index: trunk/psModules/src/objects/pmModel_CentralPixel.c
===================================================================
--- trunk/psModules/src/objects/pmModel_CentralPixel.c	(revision 36085)
+++ trunk/psModules/src/objects/pmModel_CentralPixel.c	(revision 36375)
@@ -695,5 +695,6 @@
     int   npix = 0;
 
-    float kappa = -0.275552 + 1.972625*Sindex + 0.003487 * PS_SQR(Sindex);
+    // -0.275552 + 1.972625*Sindex + 0.003487 * PS_SQR(Sindex);
+    float kappa = pmSersicKappa (Sindex);
     float rindex = 0.5 / Sindex;
 
@@ -703,14 +704,21 @@
 
     float delta = 1.0 / (float) Nsub;
-    float off = -Nsub2 * delta;
-    for (float ix = off; ix < 0.5; ix += delta) {
-	for (float iy = off; iy < 0.5; iy += delta) {
-
-	    float dX = dx + ix;
-	    float dY = dy + iy;
+    // float off = -Nsub2 * delta;
+
+    int Sx = (int) floor(dx / delta);
+    int Sy = (int) floor(dy / delta);
+
+    for (int ix = -Nsub2; ix <= Nsub2; ix++) {
+      float dX = delta * (Sx + ix);
+      for (int iy = -Nsub2; iy <= Nsub2; iy++) {
+	float dY = delta * (Sy + iy);
 	    float z = PS_SQR(dX / Rxx) + PS_SQR(dY / Ryy) + dX * dY * Rxy;
 
 	    float q = pow (z, rindex);
 	    float f = exp(-kappa*q);
+
+	    // if ((ix == 0) && (iy == 0)) {
+	    //   // fprintf (stderr, "this: %f  %f  %f  --  full : %f %f\n", z, q, f, flux, (float) npix);
+	    // }
 
 	    flux += f;
