diff --git a/model_server/accessors.py b/model_server/accessors.py
index ae5355f00d95ca19fdb44d6f78154d6715686b00..d9211c4876c21e24ac4330af4de5806193a215a5 100644
--- a/model_server/accessors.py
+++ b/model_server/accessors.py
@@ -32,6 +32,9 @@ class GenericImageDataAccessor(ABC):
     def is_3d(self):
         return True if self.shape_dict['Z'] > 1 else False
 
+    def is_mask(self):
+        return self._data.dtype == 'bool'
+
     def get_one_channel_data (self, channel: int):
         c = int(channel)
         return InMemoryDataAccessor(self.data[:, :, c:(c+1), :])
@@ -133,7 +136,10 @@ def write_accessor_data_to_file(fpath: Path, accessor: GenericImageDataAccessor)
             [3, 2, 0, 1],
             [0, 1, 2, 3]
         )
-        tifffile.imwrite(fpath, zcyx, imagej=True)
+        if accessor.is_mask():
+            tifffile.imwrite(fpath, zcyx.astype('uint8'), imagej=True)
+        else:
+            tifffile.imwrite(fpath, zcyx, imagej=True)
     except:
         raise FileWriteError(f'Unable to write data to file')
     return True