diff --git a/datahandling/parallel_datahandling.py b/datahandling/parallel_datahandling.py
index 2113ed6b458c0e80d0039f4e2b3c9b3954afb19d..c0ba80cd6140207f38dd8646b11e52fdc0822ff9 100644
--- a/datahandling/parallel_datahandling.py
+++ b/datahandling/parallel_datahandling.py
@@ -6,8 +6,10 @@ from pystencils.utils import DotDict
 import waLBerla as wlb
 import warnings
 
+
 class ParallelDataHandling(DataHandling):
     GPU_DATA_PREFIX = "gpu_"
+    VTK_COUNTER = 0
 
     def __init__(self, blocks, defaultGhostLayers=1, defaultLayout='SoA', dim=3):
         """
@@ -294,7 +296,8 @@ class ParallelDataHandling(DataHandling):
             ghostLayers = 0
         if ghostLayers is True:
             ghostLayers = min(self.ghostLayersOfField(n) for n in dataNames)
-
+        fileName = "%s_%02d" % (fileName, ParallelDataHandling.VTK_COUNTER)
+        ParallelDataHandling.VTK_COUNTER += 1
         output = wlb.vtk.makeOutput(self.blocks, fileName, ghostLayers=ghostLayers)
         for n in dataNames:
             output.addCellDataWriter(wlb.field.createVTKWriter(self.blocks, n))
diff --git a/datahandling/serial_datahandling.py b/datahandling/serial_datahandling.py
index 85970d3ad6e490d17375fd4d40310dd22b4cbd97..e0ce53770ff61676189e4e967d3732d6ebb98473 100644
--- a/datahandling/serial_datahandling.py
+++ b/datahandling/serial_datahandling.py
@@ -304,17 +304,21 @@ class SerialDataHandling(DataHandling):
             for name in dataNames:
                 field = self._getFieldWithGivenNumberOfGhostLayers(name, ghostLayers)
                 if self.dim == 2:
-                    field = field[:, :, np.newaxis]
+                    cellData[name] = field[:, :, np.newaxis]
                 if len(field.shape) == 3:
-                    field = np.ascontiguousarray(field)
+                    cellData[name] = np.ascontiguousarray(field)
                 elif len(field.shape) == 4:
-                    field = [np.ascontiguousarray(field[..., i]) for i in range(field.shape[-1])]
-                    if len(field) == 2:
-                        field.append(np.zeros_like(field[0]))
-                    field = tuple(field)
+                    fSize = field.shape[-1]
+                    if fSize == self.dim:
+                        field = [np.ascontiguousarray(field[..., i]) for i in range(fSize)]
+                        if len(field) == 2:
+                            field.append(np.zeros_like(field[0]))
+                        cellData[name] = tuple(field)
+                    else:
+                        for i in range(fSize):
+                            cellData["%s[%d]" % (name, i)] = np.ascontiguousarray(field[...,i])
                 else:
                     assert False
-                cellData[name] = field
             imageToVTK(fullFileName, cellData=cellData)
         return writer