diff --git a/projects/wobble_bobble/shaders/update_grid_forces.comp b/projects/wobble_bobble/shaders/update_grid_forces.comp
index b36becf0fa3c575eb10a372a5b70169cb27946e2..b0de5190a3c441b19dd9e8f8c4abb58ae6a728b0 100644
--- a/projects/wobble_bobble/shaders/update_grid_forces.comp
+++ b/projects/wobble_bobble/shaders/update_grid_forces.comp
@@ -82,8 +82,10 @@ void main()	{
         }
     }
 
-    if (mass > 0.0f) {
-        velocity += force * dt / mass;
+    if (dt > 0.0f) {
+        if (mass > 0.0f) {
+            velocity += force * dt / mass;
+        }
     }
 
     bvec3 lowerID = lessThanEqual(gl_GlobalInvocationID, ivec3(0));
diff --git a/projects/wobble_bobble/shaders/update_particle_positions.comp b/projects/wobble_bobble/shaders/update_particle_positions.comp
index 96dd7300ccf556ffdcb51d2ac3a842be6c6b7d5a..29d51dba2b4f235d12f668ee8e758880aae2d335 100644
--- a/projects/wobble_bobble/shaders/update_particle_positions.comp
+++ b/projects/wobble_bobble/shaders/update_particle_positions.comp
@@ -22,7 +22,9 @@ void main()	{
         float size = particles[gl_GlobalInvocationID.x].minimal.size;
         vec3 velocity = particles[gl_GlobalInvocationID.x].minimal.velocity;
 
-        position = position + velocity * dt;
+        if (dt > 0.0f) {
+            position = position + velocity * dt;
+        }
 
         for (uint i = 0; i < 3; i++) {
             if (position[i] - size < 0.0f) {