diff --git a/src/components/library.js b/src/components/library.js
index 78f499947ef6af86d55bc04a092575e4726c21b7..203c7aa5f81c237d7de2a543c380c26342a2e898 100644
--- a/src/components/library.js
+++ b/src/components/library.js
@@ -20,7 +20,7 @@ class LibraryComponent extends React.Component {
     }
     render () {
         let itemId = 0;
-        let gridItems = this.props.data.map(function (dataItem) {
+        let gridItems = this.props.data.map((dataItem) => {
             let id = itemId;
             itemId++;
             const scratchURL = (dataItem.md5) ? 'https://cdn.assets.scratch.mit.edu/internalapi/asset/' +
diff --git a/src/containers/gui.js b/src/containers/gui.js
index 1f350785c4b8747c9f258d7cfee67e7cb5dd0d95..0ab742034fa6ff94d4efc6942cf42e2a70a548d1 100644
--- a/src/containers/gui.js
+++ b/src/containers/gui.js
@@ -65,21 +65,26 @@ class GUI extends React.Component {
                 media: basePath + 'static/blocks-media/'
             }
         });
-        spriteLibraryProps = {
+        spriteSelectorProps = defaultsDeep({}, spriteSelectorProps, {
+            openNewBackdrop: () => this.openModal('backdrop-library'),
+            openNewCostume: () => this.openModal('costume-library'),
+            openNewSprite: () => this.openModal('sprite-library')
+        });
+        spriteLibraryProps = defaultsDeep({}, spriteLibraryProps, {
             mediaLibrary: this.mediaLibrary,
             onRequestClose: this.closeModal,
             visible: this.state.currentModal == 'sprite-library'
-        };
-        costumeLibraryProps = {
+        });
+        costumeLibraryProps = defaultsDeep({}, costumeLibraryProps, {
             mediaLibrary: this.mediaLibrary,
             onRequestClose: this.closeModal,
             visible: this.state.currentModal == 'costume-library'
-        };
-        backdropLibraryProps = {
+        });
+        backdropLibraryProps = defaultsDeep({}, backdropLibraryProps, {
             mediaLibrary: this.mediaLibrary,
             onRequestClose: this.closeModal,
             visible: this.state.currentModal == 'backdrop-library'
-        };
+        });
         if (this.props.children) {
             return (
                 <GUIComponent {... guiProps}>
diff --git a/src/containers/sprite-selector.js b/src/containers/sprite-selector.js
index add75b70761c30fb003ead9fc789a661383875c6..c30ac713784551c4fc8b6bf7f8495e99354bea2a 100644
--- a/src/containers/sprite-selector.js
+++ b/src/containers/sprite-selector.js
@@ -25,15 +25,18 @@ class SpriteSelector extends React.Component {
     render () {
         const {
             vm, // eslint-disable-line no-unused-vars
+            openNewSprite,
+            openNewCostume,
+            openNewBackdrop,
             ...props
         } = this.props;
         return (
             <SpriteSelectorComponent
                 value={this.state.targets.editingTarget && [this.state.targets.editingTarget]}
                 onChange={this.onChange}
-                openNewSprite={this.props.openNewSprite}
-                openNewCostume={this.props.openNewCostume}
-                openNewBackdrop={this.props.openNewBackdrop}
+                openNewSprite={openNewSprite}
+                openNewCostume={openNewCostume}
+                openNewBackdrop={openNewBackdrop}
                 sprites={this.state.targets.targetList.map(target => (
                     {
                         id: target[0],