diff --git a/src/lib/make-toolbox-xml.js b/src/lib/make-toolbox-xml.js
index 9ecb6353ad5dd6ad6c02f1f4774f5eb8a344536d..a8cc01918a54c59921ec6fe15d61dc3ad808497c 100644
--- a/src/lib/make-toolbox-xml.js
+++ b/src/lib/make-toolbox-xml.js
@@ -4,7 +4,7 @@ const blockSeparator = '<sep gap="36"/>'; // At default scale, about 28px
 
 const motion = function (isStage, targetId) {
     return `
-    <category name="Motion" colour="#4C97FF" secondaryColour="#3373CC">
+    <category name="Motion" id="motion" colour="#4C97FF" secondaryColour="#3373CC">
         ${isStage ? `
         <label text="Stage selected: no motion blocks"></label>
         ` : `
@@ -134,7 +134,7 @@ const motion = function (isStage, targetId) {
 
 const looks = function (isStage, targetId) {
     return `
-    <category name="Looks" colour="#9966FF" secondaryColour="#774DCB">
+    <category name="Looks" id="looks" colour="#9966FF" secondaryColour="#774DCB">
         ${isStage ? '' : `
         <block type="looks_sayforsecs">
             <value name="MESSAGE">
@@ -261,7 +261,7 @@ const looks = function (isStage, targetId) {
 
 const sound = function (isStage, targetId) {
     return `
-    <category name="Sound" colour="#D65CD6" secondaryColour="#BD42BD">
+    <category name="Sound" id="sound" colour="#D65CD6" secondaryColour="#BD42BD">
         <block id="${targetId}_sound_play" type="sound_play">
             <value name="SOUND_MENU">
                 <shadow type="sound_sounds_menu"/>
@@ -312,7 +312,7 @@ const sound = function (isStage, targetId) {
 
 const events = function (isStage) {
     return `
-    <category name="Events" colour="#FFD500" secondaryColour="#CC9900">
+    <category name="Events" id="events" colour="#FFD500" secondaryColour="#CC9900">
         <block type="event_whenflagclicked"/>
         <block type="event_whenkeypressed">
         </block>
@@ -351,7 +351,7 @@ const events = function (isStage) {
 
 const control = function (isStage) {
     return `
-    <category name="Control" colour="#FFAB19" secondaryColour="#CF8B17">
+    <category name="Control" id="control" colour="#FFAB19" secondaryColour="#CF8B17">
         <block type="control_wait">
             <value name="DURATION">
                 <shadow type="math_positive_number">
@@ -398,7 +398,7 @@ const control = function (isStage) {
 
 const sensing = function (isStage) {
     return `
-    <category name="Sensing" colour="#4CBFE6" secondaryColour="#2E8EB8">
+    <category name="Sensing" id="sensing" colour="#4CBFE6" secondaryColour="#2E8EB8">
         ${isStage ? '' : `
             <block type="sensing_touchingobject">
                 <value name="TOUCHINGOBJECTMENU">
@@ -468,7 +468,7 @@ const sensing = function (isStage) {
 
 const operators = function () {
     return `
-    <category name="Operators" colour="#40BF4A" secondaryColour="#389438">
+    <category name="Operators" id="operators" colour="#40BF4A" secondaryColour="#389438">
         <block type="operator_add">
             <value name="NUM1">
                 <shadow type="math_number">
@@ -650,14 +650,14 @@ const operators = function () {
 
 const variables = function () {
     return `
-    <category name="Variables" colour="#FF8C1A" secondaryColour="#DB6E00" custom="VARIABLE">
+    <category name="Variables" id="variables" colour="#FF8C1A" secondaryColour="#DB6E00" custom="VARIABLE">
     </category>
     `;
 };
 
 const myBlocks = function () {
     return `
-    <category name="My Blocks" colour="#FF6680" secondaryColour="#FF4D6A" custom="PROCEDURE">
+    <category name="My Blocks" id="myBlocks" colour="#FF6680" secondaryColour="#FF4D6A" custom="PROCEDURE">
     </category>
     `;
 };