Index: trunk/magic/remove/src/streaksremove.c
===================================================================
--- trunk/magic/remove/src/streaksremove.c	(revision 25083)
+++ trunk/magic/remove/src/streaksremove.c	(revision 25084)
@@ -824,7 +824,12 @@
     // Extension with PSF fits, should be "something.psf"
     {
+        if (!psFitsMoveExtNum(in->fits, 1, true)) {
+            psErrorStackPrint(stderr, "failed to read header from %s", in->resolved_name);
+            streaksExit("", PS_EXIT_DATA_ERROR);
+        }
+
         psMetadata *header = psFitsReadHeader(NULL, in->fits);
         if (!header) {
-            psError(PS_ERR_IO, false, "failed to read header from %s", in->resolved_name);
+            psErrorStackPrint(stderr, "failed to read header from %s", in->resolved_name);
             streaksExit("", PS_EXIT_DATA_ERROR);
         }
@@ -837,5 +842,5 @@
         psArray *inTable = psFitsReadTable(in->fits);
         if (!inTable->n) {
-            psError(PS_ERR_IO, false, "table in %s is empty", in->resolved_name);
+            psErrorStackPrint(stderr, "table in %s is empty", in->resolved_name);
             streaksExit("", PS_EXIT_DATA_ERROR);
         }
@@ -867,5 +872,5 @@
             printf("Censored %d sources\n", numCensored);
             if (! psFitsWriteTable(out->fits, header, outTable, extname)) {
-                psError(PS_ERR_IO, false, "failed to write table to %s", out->resolved_name);
+                psErrorStackPrint(stderr, "failed to write table to %s", out->resolved_name);
                 streaksExit("", PS_EXIT_DATA_ERROR);
             }
@@ -873,5 +878,5 @@
             printf("Censored ALL %d sources\n", numCensored);
             if (! psFitsWriteTableEmpty(out->fits, header, inTable->data[0], extname)) {
-                psError(PS_ERR_IO, false, "failed to write empty table to %s", out->resolved_name);
+                psErrorStackPrint(stderr, "failed to write empty table to %s", out->resolved_name);
                 streaksExit("", PS_EXIT_DATA_ERROR);
             }
@@ -885,5 +890,5 @@
 
     if (!psFitsClose(out->fits)) {
-        psError(PS_ERR_IO, false, "failed to close table %s", out->resolved_name);
+        psErrorStackPrint(stderr, "failed to close table %s", out->resolved_name);
         streaksExit("", PS_EXIT_DATA_ERROR);
     }
