Index: /trunk/Ohana/src/libfits/matrix/F_compress_M.c
===================================================================
--- /trunk/Ohana/src/libfits/matrix/F_compress_M.c	(revision 18275)
+++ /trunk/Ohana/src/libfits/matrix/F_compress_M.c	(revision 18276)
@@ -18,13 +18,13 @@
   return (FALSE); }
 
-# define MOD_KEYWORD(NAME,ZNAME,TYPE,IN,OUT) { \
+# define MOD_KEYWORD(ZNAME,NAME,TYPE,IN,OUT) { \
   gfits_scan (header, ZNAME, TYPE, 1, IN); \
   gfits_delete (header, ZNAME, 1); \
-  gfits_print (header, NAME, TYPE, 1, OUT); }
+  gfits_modify (header, NAME, TYPE, 1, OUT); }
 
 # define MOD_KEYWORD_REQUIRED(ZNAME,NAME,TYPE,IN,OUT) { \
   if (!gfits_scan (header, ZNAME, TYPE, 1, IN)) ESCAPE; \
   gfits_delete (header, ZNAME, 1); \
-  gfits_print (header, NAME, TYPE, 1, OUT); }
+  gfits_modify (header, NAME, TYPE, 1, OUT); }
 
 int gfits_uncompress_image (Header *header, Matrix *matrix, FTable *ftable) {
@@ -55,4 +55,7 @@
   // copy original header to output header
   gfits_copy_header (ftable->header, header);
+
+  // delete ZIMAGE from output header
+  gfits_delete (header, "ZIMAGE", 1);
 
   // extract compression-specific keywords, update header as needed.
@@ -79,4 +82,5 @@
     }
   } else {
+    gfits_delete (header, "ZTILE1", 1);
     for (i = 1; i < header->Naxes; i++) {
       snprintf (key, 10, "ZTILE%d", i + 1);
@@ -149,5 +153,5 @@
   }
 
-  MOD_KEYWORD ("ZHECKSUM", "ZHECKSUM", "%s", checksum,        checksum);
+  MOD_KEYWORD ("ZHECKSUM", "CHECKSUM", "%s", checksum,        checksum);
   MOD_KEYWORD ("ZDATASUM", "DATASUM",  "%s", datasum,         datasum);
 
@@ -167,4 +171,9 @@
 
   if (!gfits_varlength_column_define (ftable, &zdef, zcol)) ESCAPE;
+  gfits_delete (header, "TFIELDS", 1);
+  snprintf (key, 10, "TTYPE%d", zcol);
+  gfits_delete (header, key, 1);
+  snprintf (key, 10, "TFORM%d", zcol);
+  gfits_delete (header, key, 1);
 
   // create the output image
