diff --git a/projects/fire_works/shaders/trail.geom b/projects/fire_works/shaders/trail.geom
index 14299724227683105a99cf7832259d6cb4b4928e..e1d37e9b73185029286947b5f9dd3934692d61ac 100644
--- a/projects/fire_works/shaders/trail.geom
+++ b/projects/fire_works/shaders/trail.geom
@@ -55,9 +55,14 @@ void main() {
     }
 
     vec4 viewPositions [2];
+    uint viewIndex = instanceIndex;
+
+    if (viewIndex > startIndex) {
+        viewIndex--;
+    }
 
     for (uint i = 0; i < 2; i++) {
-        const uint index = (instanceIndex + i) % points.length();
+        const uint index = (viewIndex + i) % points.length();
         const vec3 position = points[index].position;
 
         viewPositions[i] = view * vec4(position, 1);