Index: trunk/magic/remove/src/streaksremove.c
===================================================================
--- trunk/magic/remove/src/streaksremove.c	(revision 32232)
+++ trunk/magic/remove/src/streaksremove.c	(revision 32252)
@@ -9,6 +9,4 @@
 
 #include "streaksremove.h"
-
-#include "psFitsTableNew.h"
 
 static pmConfig *parseArguments(int argc, char **argv);
@@ -280,5 +278,4 @@
 
     if (statsFileName) {
-    // Write out
         psString resolved = pmConfigConvertFilename(statsFileName, config, true, true); // Resolved filename
         if (!resolved) {
@@ -294,5 +291,5 @@
     }
 
-    // all done. Clean up to look for memory leaks.
+    // all done. Clean up and look for memory leaks.
 
     psFree(sfiles);
@@ -1060,13 +1057,15 @@
         }
 
-        psArray *inTable = psFitsReadTable(in->fits);
-        if (!inTable) {
+        psFitsTable *table = psFitsReadTableNew(in->fits);
+        if (!table) {
             psErrorStackPrint(stderr, "failed to read table in %s", in->resolved_name);
             streaksExit("", PS_EXIT_DATA_ERROR);
         }
-        if (! psFitsWriteTable(out->fits, header, inTable, extname)) {
+        if (! psFitsWriteTableNew(out->fits, header, table, extname)) {
             psErrorStackPrint(stderr, "failed to write table to %s", out->resolved_name);
             streaksExit("", PS_EXIT_DATA_ERROR);
         }
+        psFree(header);
+        psFree(table);
     }
 
@@ -1075,4 +1074,4 @@
         streaksExit("", PS_EXIT_DATA_ERROR);
     }
-    out->fits = NULL;
-}
+    out->fits = NULL;   // freed by psFitsclose()
+}
