Index: /trunk/ppMerge/src/ppMerge.c
===================================================================
--- /trunk/ppMerge/src/ppMerge.c	(revision 42763)
+++ /trunk/ppMerge/src/ppMerge.c	(revision 42764)
@@ -159,4 +159,6 @@
     psLibFinalize();
 
+    psLogMsg("ppMerge", PS_LOG_INFO, "Memory leaks: %d\\n", psMemCheckLeaks(0, NULL, stdout, false));
+
     exit(exitValue);
 }
Index: /trunk/ppMerge/src/ppMergeLoop.c
===================================================================
--- /trunk/ppMerge/src/ppMergeLoop.c	(revision 42763)
+++ /trunk/ppMerge/src/ppMergeLoop.c	(revision 42764)
@@ -349,7 +349,9 @@
                       psArrayAdd(job->args, 1, outCell);
                       psArrayAdd(job->args, 1, fileGroup);
-                      psArrayAdd(job->args, 1, psScalarAlloc(iter, PS_TYPE_S32));
-                      psArrayAdd(job->args, 1, psScalarAlloc(rej, PS_TYPE_F32));
-                      psArrayAdd(job->args, 1, psScalarAlloc(maskVal, PS_TYPE_IMAGE_MASK));
+		      
+		      // need to free the allocated scalars:
+		      { psScalar *tmpVal = psScalarAlloc(iter,    PS_TYPE_S32);        psArrayAdd(job->args, 1, tmpVal); psFree (tmpVal); }
+		      { psScalar *tmpVal = psScalarAlloc(rej,     PS_TYPE_F32);        psArrayAdd(job->args, 1, tmpVal); psFree (tmpVal); }
+		      { psScalar *tmpVal = psScalarAlloc(maskVal, PS_TYPE_IMAGE_MASK); psArrayAdd(job->args, 1, tmpVal); psFree (tmpVal); }
 
                       // call: pmDarkCombine(outCell, fileGroup->readouts, iter, rej, maskVal);
