diff --git a/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimatable.kt b/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimatable.kt
index db1a8bc..051aa21 100644
--- a/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimatable.kt
+++ b/lottie-compose/src/main/java/com/airbnb/lottie/compose/LottieAnimatable.kt
@@ -261,7 +261,7 @@
             else -> progress + dProgress - maxProgress
         }
         if (progressPastEndOfIteration < 0f) {
-            progress += dProgress
+            progress = progress.coerceIn(minProgress, maxProgress) + dProgress
         } else {
             val durationProgress = maxProgress - minProgress
             val dIterations = (progressPastEndOfIteration / durationProgress).toInt() + 1
diff --git a/lottie-compose/src/test/java/com/airbnb/lottie/compose/LottieAnimatableImplTest.kt b/lottie-compose/src/test/java/com/airbnb/lottie/compose/LottieAnimatableImplTest.kt
index e207733..7ef172e 100644
--- a/lottie-compose/src/test/java/com/airbnb/lottie/compose/LottieAnimatableImplTest.kt
+++ b/lottie-compose/src/test/java/com/airbnb/lottie/compose/LottieAnimatableImplTest.kt
@@ -1,8 +1,10 @@
 package com.airbnb.lottie.compose
 
+import androidx.compose.animation.core.AnimationConstants
 import com.airbnb.lottie.LottieComposition
 import com.airbnb.lottie.LottieCompositionFactory
 import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.cancelAndJoin
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.test.runBlockingTest
 import kotlinx.coroutines.withContext
@@ -298,6 +300,23 @@
         assertFrame(599, progress = 1f, isAtEnd = false, isPlaying = false, iterations = 3)
     }
 
+    @Test
+    fun testCompositionCreated() = runTest {
+        val clipSpec = LottieClipSpec.Frame(20, 25)
+        val job1 = launch {
+            anim.animate(null, clipSpec = clipSpec)
+        }
+        assertFrame(0, progress = 0f, clipSpec = clipSpec, isAtEnd = true, isPlaying = false, lastFrameNanos = AnimationConstants.UnspecifiedTime)
+
+        job1.cancelAndJoin()
+        val job2 = launch {
+            anim.animate(composition, clipSpec = clipSpec, initialProgress = anim.progress)
+        }
+
+        assertFrame(0, progress = 0.556f, clipSpec = clipSpec)
+        job2.cancelAndJoin()
+    }
+
     private suspend fun assertFrame(
         frameTimeMs: Long,
         progress: Float,
