Index: trunk/Ohana/src/opihi/cmd.data/mset.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/mset.c	(revision 7917)
+++ trunk/Ohana/src/opihi/cmd.data/mset.c	(revision 20936)
@@ -4,5 +4,5 @@
   
   int i, Nx, Ny, Npix, xdir, Nset;
-  float *in, *out;
+  float *out;
   Buffer *buf;
   Vector *vec;
@@ -42,9 +42,18 @@
     }
     out = (float *) buf[0].matrix.buffer + Nx*Nset;
-    in = vec[0].elements;
-    for (i = 0; i < Npix; i++, in++, out++) {
-      *out = *in;
+
+    if (vec[0].type == OPIHI_FLT) {
+      opihi_flt *in = vec[0].elements.Flt;
+      for (i = 0; i < Npix; i++, in++, out++) {
+	*out = *in;
+      }
+    } else {
+      opihi_int *in = vec[0].elements.Int;
+      for (i = 0; i < Npix; i++, in++, out++) {
+	*out = *in;
+      }
     }
     return (TRUE);
+
   } else {
     if (Ny != Npix) {
@@ -57,7 +66,15 @@
     }
     out = (float *) buf[0].matrix.buffer + Nset;
-    in = vec[0].elements;
-    for (i = 0; i < Npix; i++, in++, out+=Nx) {
-      *out = *in;
+
+    if (vec[0].type == OPIHI_FLT) {
+      opihi_flt *in = vec[0].elements.Flt;
+      for (i = 0; i < Npix; i++, in++, out+=Nx) {
+	*out = *in;
+      }
+    } else {
+      opihi_int *in = vec[0].elements.Int;
+      for (i = 0; i < Npix; i++, in++, out+=Nx) {
+	*out = *in;
+      }
     }
     return (TRUE);
