diff --git a/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java b/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java
index 0245ca69724f078dff224deabd9918038f05e505..86d93dc147286d4dabb962ce1a020518a2c5540f 100644
--- a/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java
+++ b/src/main/java/cz/it4i/qcmp/quantization/vector/LBGVectorQuantizer.java
@@ -35,7 +35,8 @@ public class LBGVectorQuantizer {
     public LBGVectorQuantizer(final int[][] vectors,
                               final int codebookSize,
                               final int workerCount,
-                              final V3i vectorDimensions) {
+                              final V3i vectorDimensions,
+                              final boolean createCopyOfSrcVectors) {
         assert (vectors.length > 0) : "No training vectors provided";
 
         this.vectorDimensions = vectorDimensions;
@@ -44,7 +45,7 @@ public class LBGVectorQuantizer {
 
         this.trainingVectors = new TrainingVector[vectors.length];
         for (int i = 0; i < vectors.length; i++) {
-            trainingVectors[i] = new TrainingVector(Arrays.copyOf(vectors[i], vectorSize));
+            trainingVectors[i] = new TrainingVector(createCopyOfSrcVectors ? Arrays.copyOf(vectors[i], vectorSize) : vectors[i]);
         }
 
         this.codebookSize = codebookSize;