Index: trunk/psModules/src/camera/pmReadoutFake.c
===================================================================
--- trunk/psModules/src/camera/pmReadoutFake.c	(revision 20937)
+++ trunk/psModules/src/camera/pmReadoutFake.c	(revision 20999)
@@ -50,5 +50,5 @@
 bool pmReadoutFakeFromSources(pmReadout *readout, int numCols, int numRows, const psArray *sources,
                               const psVector *xOffset, const psVector *yOffset, const pmPSF *psf,
-                              float minFlux, int radius, bool circularise)
+                              float minFlux, int radius, bool circularise, bool normalisePeak)
 {
     PS_ASSERT_PTR_NON_NULL(readout, false);
@@ -83,8 +83,10 @@
     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?");
+    psAssert(fakeModel, "failed to generate model: should this be an error or not?");
 
-
-    float flux0 = fakeModel->modelFlux(fakeModel->params); // Flux for central intensity of 1.0
+    float flux0 = NAN;                  // Flux for central intensity of 1.0
+    if (normalisePeak) {
+        flux0 = fakeModel->modelFlux(fakeModel->params); // Flux for central intensity of 1.0
+    }
 
     if (circularise && !circulariseModel(fakeModel)) {
@@ -112,5 +114,10 @@
         }
 
-        pmModel *fakeModel = pmModelFromPSFforXY(psf, x, y, powf(10.0, -0.4 * source->psfMag) / flux0);
+        float flux = powf(10.0, -0.4 * source->psfMag); // Flux of source
+        if (normalisePeak) {
+            flux /= flux0;
+        }
+
+        pmModel *fakeModel = pmModelFromPSFforXY(psf, x, y, flux);
         if (!fakeModel) {
             continue;
Index: trunk/psModules/src/camera/pmReadoutFake.h
===================================================================
--- trunk/psModules/src/camera/pmReadoutFake.h	(revision 20937)
+++ trunk/psModules/src/camera/pmReadoutFake.h	(revision 20999)
@@ -21,5 +21,6 @@
                               float minFlux, ///< Minimum flux to bother about; for setting source radius
                               int radius, ///< Fixed radius for sources
-                              bool circularise ///< Circularise PSF model?
+                              bool circularise, ///< Circularise PSF model?
+                              bool normalise ///< Normalise the peak value?
     );
 
