Index: trunk/magic/remove/src/streaksremove.c
===================================================================
--- trunk/magic/remove/src/streaksremove.c	(revision 29806)
+++ trunk/magic/remove/src/streaksremove.c	(revision 30263)
@@ -275,17 +275,21 @@
     psLogMsg("streaksremove", PS_LOG_INFO, "time to run streaksremove: %f\n", total_time);
 
-    if (sfiles->statsFile) {
-        const char *statsMDC = psMetadataConfigFormat(sfiles->stats);
-        if (!statsMDC || strlen(statsMDC) == 0) {
-            psError(PS_ERR_IO, false, "Unable to get statistics MDC file.\n");
-        } else {
-            fprintf(sfiles->statsFile, "%s", statsMDC);
-            psFree(statsMDC);
-            fclose(sfiles->statsFile);
-            sfiles->statsFile = NULL;
-            psFree(sfiles->stats);
-            sfiles->stats = NULL;
-        }
-    }
+    psString statsFileName= psMetadataLookupStr(&status, config->arguments, "STATS");
+
+    if (statsFileName) {
+    // Write out
+        psString resolved = pmConfigConvertFilename(statsFileName, config, true, true); // Resolved filename
+        if (!resolved) {
+            psError(psErrorCodeLast(), false, "Unable to resolve statistics file name");
+            return false;
+        }
+        if (!psMetadataConfigWrite(sfiles->stats, resolved, NULL)) {
+            psError(psErrorCodeLast(), false, "Unable to serialize stats metadata.\n");
+            psFree(resolved);
+            return false;
+        }
+        psFree(resolved);
+    }
+
     // all done. Clean up to look for memory leaks.
 
