diff --git a/src/containers/blocks.jsx b/src/containers/blocks.jsx
index bedbbdbade90c98fe17572495521ca28478cdef9..504291036f35d8f99d61c062b53c31d7e0315dbe 100644
--- a/src/containers/blocks.jsx
+++ b/src/containers/blocks.jsx
@@ -95,9 +95,11 @@ class Blocks extends React.Component {
         }
 
         if (prevProps.toolboxXML !== this.props.toolboxXML) {
-            const selectedCategoryName = this.workspace.toolbox_.getSelectedItem().name_;
+            const categoryName = this.workspace.toolbox_.getSelectedCategoryName();
+            const offset = this.workspace.toolbox_.getCategoryScrollOffset();
             this.workspace.updateToolbox(this.props.toolboxXML);
-            this.workspace.toolbox_.setSelectedCategoryByName(selectedCategoryName);
+            const currentCategoryPos = this.workspace.toolbox_.getCategoryPositionByName(categoryName);
+            this.workspace.toolbox_.setFlyoutScrollPos(currentCategoryPos + offset);
         }
         if (this.props.isVisible === prevProps.isVisible) {
             return;