Index: trunk/Ohana/src/libfits/matrix/F_compress_M.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_compress_M.c	(revision 15648)
+++ trunk/Ohana/src/libfits/matrix/F_compress_M.c	(revision 15649)
@@ -103,5 +103,4 @@
   // XXX is Noptions set to the correct value?
   // XXX get ZMASKCMP 
-
   int zsimple, have_zsimple;
   int have_ztension;
@@ -183,4 +182,7 @@
       // put the byte-swapping in gifts_varlength_column_pointer, but this is fairly weak.
 
+      // XXX inconsistency between data element size between compressed data, uncompressed data, 
+      // and output pixel data.....
+
       case 'B': {
 	char *zdata;
@@ -254,11 +256,11 @@
   int *Ztile = NULL;
 
+  ALLOCATE (counter, int, matrix->Naxes);
+  ALLOCATE (Ztile, int, matrix->Naxes);
+
   // counter for current row in tile to copy
-  ALLOCATE (counter, int, matrix->Naxes);
-  memset (counter, 0, matrix->Naxes*sizeof(int));
-
   // true sizes of this tile (in pixels)
-  ALLOCATE (Ztile, int, matrix->Naxes);
   for (i = 0; i < matrix->Naxes; i++) {
+    counter[i] = 0;
     Ztile[i] = MIN ((matrix->Naxis[i] - otile[i]*ztile[i]), ztile[i]);
   }
Index: trunk/Ohana/src/libfits/matrix/F_uncompress_data.c
===================================================================
--- trunk/Ohana/src/libfits/matrix/F_uncompress_data.c	(revision 15648)
+++ trunk/Ohana/src/libfits/matrix/F_uncompress_data.c	(revision 15649)
@@ -53,5 +53,6 @@
 
     int Npix;
-    Npix = *Nout * (out_pixsize / 4.0);
+    // Npix = *Nout * (out_pixsize / 4.0);
+    Npix = *Nout;
 
     Ninsum += Nzdata;
