diff --git a/src/containers/sprite-library.jsx b/src/containers/sprite-library.jsx
index 6738bacd8f339434946f30564e15ba26050728e2..fb9a6ce0348a067c059da750a77c49477950c30d 100644
--- a/src/containers/sprite-library.jsx
+++ b/src/containers/sprite-library.jsx
@@ -14,7 +14,9 @@ class SpriteLibrary extends React.Component {
             'handleItemSelect',
             'handleMouseEnter',
             'handleMouseLeave',
-            'rotateCostume'
+            'rotateCostume',
+            'startRotatingCostumes',
+            'stopRotatingCostumes'
         ]);
         this.state = {
             activeSprite: null,
@@ -29,11 +31,17 @@ class SpriteLibrary extends React.Component {
         this.props.vm.addSprite2(JSON.stringify(item.json));
     }
     handleMouseEnter (item) {
-        this.setState({activeSprite: item});
-        if (this.intervalId) clearInterval(this.intervalId);
-        this.intervalId = setInterval(this.rotateCostume, 300);
+        this.stopRotatingCostumes();
+        this.setState({activeSprite: item}, this.startRotatingCostumes);
     }
     handleMouseLeave () {
+        this.stopRotatingCostumes();
+    }
+    startRotatingCostumes () {
+        if (!this.state.activeSprite) return;
+        this.intervalId = setInterval(this.rotateCostume, 300);
+    }
+    stopRotatingCostumes () {
         this.intervalId = clearInterval(this.intervalId);
     }
     rotateCostume () {