diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp index 5bb793abf85..f59f2ee79cb 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -2441,7 +2441,7 @@ int Animation::_find(const Vector &p_keys, double p_time, bool p_backward, bo } } - if (p_limit) { + if (p_limit && middle > -1 && middle < len) { double diff = length - keys[middle].time; if ((std::signbit(keys[middle].time) && !Math::is_zero_approx(keys[middle].time)) || (std::signbit(diff) && !Math::is_zero_approx(diff))) { ERR_PRINT_ONCE_ED("Found the key outside the animation range. Consider using the clean-up option in AnimationTrackEditor to fix it.");