diff --git a/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/PullRefresh.kt b/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/PullRefresh.kt
index c68dd300f..dd854c3ac 100644
--- a/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/PullRefresh.kt
+++ b/presentation-core/src/main/java/tachiyomi/presentation/core/components/material/PullRefresh.kt
@@ -196,7 +196,7 @@ private class PullToRefreshStateImpl(
             val newOffset = (distancePulled + available.y).coerceAtLeast(0f)
             val dragConsumed = newOffset - distancePulled
             distancePulled = newOffset
-            verticalOffset = calculateVerticalOffset() + (extraVerticalOffset * progress)
+            verticalOffset = calculateVerticalOffset() + (extraVerticalOffset * progress.coerceIn(0f, 1f))
             dragConsumed
         }
         return Offset(0f, y)