diff --git a/src/player.cpp b/src/player.cpp
index e7c79a4ff0c10720643240d1b8f4fd7ccd2a5d82..b83991f514fba4f4979e3b3b5bcc0dfd355043a6 100644
--- a/src/player.cpp
+++ b/src/player.cpp
@@ -398,9 +398,11 @@ void Player::playVideo()
                 if(mState == PlayerState::FORWARD &&
                    mAnimation->getCurrentFrameNum() == mAnimation->getSourceOutFrameNum())
                 {
-                    currentFrame = 0;
+                    currentFrame = mAnimation->getSourceInFrameNum();
                 }
-                else if(mState == PlayerState::BACKWARD && mAnimation->getCurrentFrameNum() == 0)
+                else if(
+                    mState == PlayerState::BACKWARD &&
+                    mAnimation->getCurrentFrameNum() == mAnimation->getSourceInFrameNum())
                 {
                     currentFrame = mAnimation->getSourceOutFrameNum();
                 }