Index: trunk/ppStack/src/ppStackLoop.c
===================================================================
--- trunk/ppStack/src/ppStackLoop.c	(revision 17016)
+++ trunk/ppStack/src/ppStackLoop.c	(revision 17255)
@@ -306,4 +306,5 @@
     psArray *subKernels = psArrayAlloc(num); // Subtraction kernels --- required in the stacking
     psArray *subRegions = psArrayAlloc(num); // Subtraction regions --- required in the stacking
+    psRandom *rng = psRandomAlloc(PS_RANDOM_TAUS, 0); // Random number generator
     for (int i = 0; i < num; i++) {
         psTrace("ppStack", 2, "Convolving input %d of %d to target PSF....\n", i, num);
@@ -315,4 +316,5 @@
             psFree(sources);
             psFree(targetPSF);
+            psFree(rng);
             return false;
         }
@@ -323,8 +325,9 @@
         // Background subtraction, scaling and normalisation is performed automatically by the image matching
         psArray *regions = NULL, *kernels = NULL; // Regions and kernels used in subtraction
-        if (!ppStackMatch(readout, &regions, &kernels, sources, targetPSF, config)) {
+        if (!ppStackMatch(readout, &regions, &kernels, sources, targetPSF, rng, config)) {
             psError(PS_ERR_UNKNOWN, false, "Unable to match image %d --- ignoring.", i);
             psFree(sources);
             psFree(targetPSF);
+            psFree(rng);
             return false;
         }
@@ -345,4 +348,5 @@
     psFree(sources);
     psFree(targetPSF);
+    psFree(rng);
 
 
