diff --git a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java
index 409efcf00ca2ee1899d42e2fd51515622ac80637..a2fb26836ceb84a1e9a4467c600c1092ebd5ccef 100644
--- a/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java
+++ b/app/src/main/java/se/leap/bitmaskclient/base/fragments/EipFragment.java
@@ -227,6 +227,12 @@ public class EipFragment extends Fragment implements Observer {
     public void onPause() {
         super.onPause();
         Log.d(TAG, "onPause");
+        if (stateView.getDrawable() instanceof Animatable) {
+            Animatable animatedDrawable = (Animatable) stateView.getDrawable();
+            if (animatedDrawable.isRunning()) {
+                animatedDrawable.stop();
+            }
+        }
     }
 
     @Override
@@ -575,6 +581,9 @@ public class EipFragment extends Fragment implements Observer {
                 @Override
                 public void onAnimationEnd(Drawable drawable) {
                     super.onAnimationEnd(drawable);
+                    if (!isResumed()) {
+                        return;
+                    }
                     if (pendingAnimationState != 0) {
                         int newAnimationRes = pendingAnimationState;
                         pendingAnimationState = 0;