diff --git a/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp b/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp
index fdf33513f09daa335e7d22fd087eb26304b226d2..1de264785753e54b00d83595458cc49be38bb2eb 100644
--- a/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp
+++ b/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp
@@ -543,6 +543,8 @@ void UGPUInstancedLineComponent::AddBulkInternal(int32 NumberOfLines, int32 Numb
 	DummyTransforms.SetNum(NumberOfLines * NumberOfSegmentsPerLine);
 	AddInstances(DummyTransforms, false);
 
+	int32 InstanceCounter = 0;
+
 	for (int32 LineIndex = 0; LineIndex < NumberOfLines; ++LineIndex)
 	{
 		const FLinearColor Color = UniformColor ? Colors[0] : Colors[LineIndex];
@@ -553,12 +555,11 @@ void UGPUInstancedLineComponent::AddBulkInternal(int32 NumberOfLines, int32 Numb
 
 		for (int32 PointIndex = 0; PointIndex < NumberOfSegmentsPerLine; ++PointIndex)
 		{
-			//const int32 InstanceId = AddNewSegmentInstance(Color, Width, CurrentTextureIndex);
-			const int32 InstanceId = CurrentTextureIndex;
-			InitializeCreatedSegmentInstance(InstanceId, Color, Width, CurrentTextureIndex);
-			NewLineArray.IndexArray.Add({ InstanceId, LineIndex * (NumberOfSegmentsPerLine + 1) + PointIndex });
+			//const int32 InstanceId = AddNewSegmentInstance(Color, Width, CurrentTextureIndex);			
+			InitializeCreatedSegmentInstance(InstanceCounter, Color, Width, CurrentTextureIndex);
+			NewLineArray.IndexArray.Add({ InstanceCounter, LineIndex * (NumberOfSegmentsPerLine + 1) + PointIndex });
 			CurrentTextureIndex++;
-
+			InstanceCounter++;
 			MoveTextureMarker();
 		}
 		NewLineArray.IndexArray.Add({ -1, LineIndex * (NumberOfSegmentsPerLine + 1) + NumberOfSegmentsPerLine });