diff --git a/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedBufferToImgLib2.java b/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedBufferToImgLib2.java
index fbeb1591f92953468d5ad3fb1cc00c7bccef5cbc..f5d63adbee9e1e4848d709b4b9923f042af2573b 100644
--- a/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedBufferToImgLib2.java
+++ b/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedBufferToImgLib2.java
@@ -76,6 +76,8 @@ public final class MappedBufferToImgLib2
     	String axes = (String) map.get(AXES_KEY);
     	String name = (String) map.get(NAME_KEY);
     	long[] shape = (long[]) map.get(SHAPE_KEY);
+    	if (shape.length == 0)
+    		return Tensor.buildEmptyTensor(name, axes);
     	
         Img<T> data;
 		switch (dtype)
@@ -114,6 +116,8 @@ public final class MappedBufferToImgLib2
     	HashMap<String, Object> map = getDataTypeAndShape(infoStr);
     	String dtype = (String) map.get(DATA_TYPE_KEY);
     	long[] shape = (long[]) map.get(SHAPE_KEY);
+    	if (shape.length == 0)
+    		return null;
     	
         // Create an INDArray of the same type of the tensor
         switch (dtype)
@@ -253,7 +257,7 @@ public final class MappedBufferToImgLib2
        String nameStr = m.group(3);
        String shapeStr = m.group(4);
        long[] shape = new long[0];
-       if (!shapeStr.isEmpty()) {
+       if (!shapeStr.isEmpty() && !shapeStr.equals("[]")) {
            String[] tokens = shapeStr.split(", ?");
            shape = Arrays.stream(tokens).mapToLong(Long::parseLong).toArray();
        }
diff --git a/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedFileBuilder.java b/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedFileBuilder.java
index af8ade9ad1acade71a582ea82ec0c9f7e5f0e494..a941153bd503ffc28010c11ca1829bf70bf5bee3 100644
--- a/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedFileBuilder.java
+++ b/src/main/java/org/bioimageanalysis/icy/deeplearning/tensorflow/v1/tensor/MappedFileBuilder.java
@@ -1,14 +1,9 @@
 package org.bioimageanalysis.icy.deeplearning.tensorflow.v1.tensor;
 
 import java.nio.ByteBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
 import java.util.Arrays;
 
-import org.bioimageanalysis.icy.deeplearning.utils.IndexingUtils;
 import org.tensorflow.Tensor;
-import org.tensorflow.types.UInt8;
 
 import net.imglib2.Cursor;
 import net.imglib2.RandomAccessibleInterval;
@@ -188,9 +183,11 @@ public final class MappedFileBuilder
      */
     public static  < T extends RealType< T > & NativeType< T > > byte[] 
     		createFileHeader(org.bioimageanalysis.icy.deeplearning.tensor.Tensor<T> tensor) {
+    	String dimsStr = 
+    			tensor.getData() != null ? Arrays.toString(tensor.getData().dimensionsAsLongArray()) : "[]";
     	String descriptionStr = "{'dtype':'" + tensor.getDataType() + "','axes':'" 
     		+ tensor.getAxesOrderString() + "','name':'" + tensor.getName() +  "','shape':'" 
-    		+ Arrays.toString(tensor.getData().dimensionsAsLongArray()) + "'}";
+    		+ dimsStr + "'}";
     	
     	byte[] descriptionBytes = descriptionStr.getBytes();
     	int lenDescriptionBytes = descriptionBytes.length;