diff --git a/src/containers/blocks.jsx b/src/containers/blocks.jsx
index 59dd1a53980314bf826eee782697eaae57acc810..471dc6cd08643341c290f66227b723ef28dbffb1 100644
--- a/src/containers/blocks.jsx
+++ b/src/containers/blocks.jsx
@@ -195,8 +195,6 @@ class Blocks extends React.Component {
         const dynamicBlocksXML = this.props.vm.runtime.getBlocksXML();
         const toolboxXML = makeToolboxXML(dynamicBlocksXML);
         this.props.onExtensionAdded(toolboxXML);
-        const categoryName = blocksInfo[0].json.category;
-        this.handleCategorySelected(categoryName);
     }
     handleCategorySelected (categoryName) {
         this.workspace.toolbox_.setSelectedCategoryByName(categoryName);
diff --git a/src/containers/extension-library.jsx b/src/containers/extension-library.jsx
index 071427409c55a34c9fe7012417b58e3e2ca12b2b..09fd65ff35d9f3af78019f622fa0ed3d58b19d0b 100644
--- a/src/containers/extension-library.jsx
+++ b/src/containers/extension-library.jsx
@@ -22,7 +22,9 @@ class ExtensionLibrary extends React.PureComponent {
             if (this.props.vm.extensionManager.isExtensionLoaded(url)) {
                 this.props.onCategorySelected(item.name);
             } else {
-                this.props.vm.extensionManager.loadExtensionURL(url);
+                this.props.vm.extensionManager.loadExtensionURL(url).then(() => {
+                    this.props.onCategorySelected(item.name);
+                });
             }
         }
     }