diff --git a/src/containers/costume-tab.jsx b/src/containers/costume-tab.jsx
index baad4eb28422ba3da6307efb8c75d7b44fd9c569..c11deb2c78bba7a14c48ee91b2f853409c71b940 100644
--- a/src/containers/costume-tab.jsx
+++ b/src/containers/costume-tab.jsx
@@ -39,6 +39,25 @@ class CostumeTab extends React.Component {
         }
     }
 
+    shouldComponentUpdate (nextProps) {
+        const {
+            editingTarget,
+            sprites,
+            stage
+        } = nextProps;
+        const nextTarget = editingTarget && sprites[editingTarget] ? sprites[editingTarget] : stage;
+        const currentTarget =
+            this.props.editingTarget && this.props.sprites[this.props.editingTarget] ?
+                this.props.sprites[this.props.editingTarget] :
+                this.props.stage;
+
+        if (this.props.editingTarget !== editingTarget ||
+                currentTarget.currentCostume !== nextTarget.currentCostume) {
+            return true;
+        }
+        return false;
+    }
+
     handleSelectCostume (costumeIndex) {
         this.props.vm.editingTarget.setCostume(costumeIndex);
         this.setState({selectedCostumeIndex: costumeIndex});