diff --git a/framesequence/src/android/support/rastermill/FrameSequenceDrawable.java b/framesequence/src/android/support/rastermill/FrameSequenceDrawable.java
index 3342429..cc17c73 100644
--- a/framesequence/src/android/support/rastermill/FrameSequenceDrawable.java
+++ b/framesequence/src/android/support/rastermill/FrameSequenceDrawable.java
@@ -231,9 +231,13 @@
         }
     };
 
-    private Runnable mCallbackRunnable = new Runnable() {
+    private Runnable mFinishedCallbackRunnable = new Runnable() {
         @Override
         public void run() {
+            synchronized (mLock) {
+                mNextFrameToDecode = -1;
+                mState = 0;
+            }
             if (mOnFinishedListener != null) {
                 mOnFinishedListener.onFinished(FrameSequenceDrawable.this);
             }
@@ -386,8 +390,8 @@
                 boolean continueLooping = true;
                 if (mNextFrameToDecode == mFrameSequence.getFrameCount() - 1) {
                     mCurrentLoop++;
-                    if ((mLoopBehavior == LOOP_ONCE && mCurrentLoop == mLoopCount) ||
-                            (mLoopBehavior == LOOP_DEFAULT && mCurrentLoop == mFrameSequence.getDefaultLoopCount())) {
+                    if ((mLoopBehavior == LOOP_FINITE && mCurrentLoop >= mLoopCount) ||
+                            (mLoopBehavior == LOOP_DEFAULT && mCurrentLoop >= mFrameSequence.getDefaultLoopCount())) {
                         continueLooping = false;
                     }
                 }
@@ -395,7 +399,7 @@
                 if (continueLooping) {
                     scheduleDecodeLocked();
                 } else {
-                    scheduleSelf(mCallbackRunnable, 0);
+                    scheduleSelf(mFinishedCallbackRunnable, 0);
                 }
             }
         }
