Index: /trunk/psModules/src/camera/pmReadoutFake.c
===================================================================
--- /trunk/psModules/src/camera/pmReadoutFake.c	(revision 21102)
+++ /trunk/psModules/src/camera/pmReadoutFake.c	(revision 21103)
@@ -81,19 +81,19 @@
     int numSources = sources->n;          // Number of stars
 
-    pmModel *fakeModel = pmModelFromPSFforXY(psf, (float)numCols / 2.0, (float)numRows / 2.0,
-                                             1.0); // Fake model, with central intensity of 1.0
-    psAssert(fakeModel, "failed to generate model: should this be an error or not?");
-
     float flux0 = NAN;                  // Flux for central intensity of 1.0
     if (normalisePeak) {
+        pmModel *fakeModel = pmModelFromPSFforXY(psf, (float)numCols / 2.0, (float)numRows / 2.0,
+                                                 1.0); // Fake model, with central intensity of 1.0
+        psAssert(fakeModel, "failed to generate model: should this be an error or not?");
+
+        if (circularise && !circulariseModel(fakeModel)) {
+            psError(PS_ERR_UNKNOWN, false, "Unable to circularise PSF model.");
+            psFree(fakeModel);
+            return false;
+        }
+
         flux0 = fakeModel->modelFlux(fakeModel->params); // Flux for central intensity of 1.0
+        psFree(fakeModel);
     }
-
-    if (circularise && !circulariseModel(fakeModel)) {
-        psError(PS_ERR_UNKNOWN, false, "Unable to circularise PSF model.");
-        psFree(fakeModel);
-        return false;
-    }
-    psFree(fakeModel);
 
     for (int i = 0; i < numSources; i++) {
