diff --git a/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java b/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java
index 848ba153db0d93fd69e2d93e0f059d0c34afae67..6d10758b98962f9878fd0dd61d4cdf13bd9d494b 100644
--- a/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java
+++ b/src/main/java/cz/it4i/qcmp/compression/VQImageCompressor.java
@@ -166,6 +166,7 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm
                 quantizer = loadQuantizerFromCache();
                 huffman = createHuffmanCoder(huffmanSymbols, quantizer.getFrequencies());
                 reportStatusToListeners("Cached quantizer with huffman coder created.");
+                writeQuantizerToCompressStream(quantizer, compressStream);
             } else if (options.getCodebookType() == CompressionOptions.CodebookType.MiddlePlane) {
                 stopwatch.restart();
                 reportStatusToListeners("Training vector quantizer from middle plane.");
@@ -175,8 +176,8 @@ public class VQImageCompressor extends CompressorDecompressorBase implements IIm
                 huffman = createHuffmanCoder(huffmanSymbols, quantizer.getFrequencies());
                 stopwatch.stop();
                 reportStatusToListeners("Middle plane codebook created in: " + stopwatch.getElapsedTimeString());
+                writeQuantizerToCompressStream(quantizer, compressStream);
             }
-            writeQuantizerToCompressStream(quantizer, compressStream);
         }
 
         final int[] planeIndices = getPlaneIndicesForCompression(inputData);