diff --git a/src/containers/sound-tab.jsx b/src/containers/sound-tab.jsx
index 471ebe99e65a37301979f431f304096e392c1a27..b0b4e3d2209f27ec4725ee33639c6c926e14f26d 100644
--- a/src/containers/sound-tab.jsx
+++ b/src/containers/sound-tab.jsx
@@ -46,8 +46,14 @@ class SoundTab extends React.Component {
         } = nextProps;
 
         const target = editingTarget && sprites[editingTarget] ? sprites[editingTarget] : stage;
+        if (!target || !target.sounds) {
+            return;
+        }
 
-        if (target && target.sounds && this.state.selectedSoundIndex > target.sounds.length - 1) {
+        // If switching editing targets, reset the sound index
+        if (this.props.editingTarget !== editingTarget) {
+            this.setState({selectedSoundIndex: 0});
+        } else if (this.state.selectedSoundIndex > target.sounds.length - 1) {
             this.setState({selectedSoundIndex: Math.max(target.sounds.length - 1, 0)});
         }
     }