http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=26816

diff --git a/coders/viff.c b/coders/viff.c
index 74329a0..932a6b2 100644
--- a/coders/viff.c
+++ b/coders/viff.c
@@ -612,7 +612,11 @@
             for (bit=0; bit < 8; bit++)
             {
               quantum=(size_t) ((*p) & (0x01 << bit) ? 0 : 1);
-              SetPixelIndex(image,quantum,q);
+              SetPixelRed(image,quantum == 0 ? 0 : QuantumRange,q);
+              SetPixelGreen(image,quantum == 0 ? 0 : QuantumRange,q);
+              SetPixelBlue(image,quantum == 0 ? 0 : QuantumRange,q);
+              if (image->storage_class == PseudoClass)
+                SetPixelIndex(image,quantum,q);
               q+=GetPixelChannels(image);
             }
             p++;
@@ -622,7 +626,11 @@
               for (bit=0; bit < (int) (image->columns % 8); bit++)
               {
                 quantum=(size_t) ((*p) & (0x01 << bit) ? 0 : 1);
-                SetPixelIndex(image,quantum,q);
+                SetPixelRed(image,quantum == 0 ? 0 : QuantumRange,q);
+                SetPixelGreen(image,quantum == 0 ? 0 : QuantumRange,q);
+                SetPixelBlue(image,quantum == 0 ? 0 : QuantumRange,q);
+                if (image->storage_class == PseudoClass)
+                  SetPixelIndex(image,quantum,q);
                 q+=GetPixelChannels(image);
               }
               p++;