diff --git a/web/show.js b/web/show.js
index 52405d83528c5ef26d09b86c468cf40f0243a27b..f01091857772fd3ea713f9388e69fb6a2e29225e 100644
--- a/web/show.js
+++ b/web/show.js
@@ -8,6 +8,18 @@ xhr1.onreadystatechange = function() {
     if (xhr1.readyState === 4) {
 	styleguide = xhr1.responseXML.querySelector("styleguide");
 	renderStyleguide(styleguide);
+	if (window.location.href.indexOf("#") > -1) {
+	    idref = window.location.href.replace(/^.*#/g, '');
+	    var node = document.querySelector("*[id='" + idref + "']");
+	    node.classList.remove("collapsed");
+	    if ((node.parentNode.tagName == "subcategory") || (node.parentNode.tagName == "category")) {
+		node.parentNode.classList.remove("collapsed");
+		if (node.parentNode.parentNode.tagName == "category") {
+		    node.parentNode.parentNode.classList.remove("collapsed");
+		}
+	    }
+	    window.location.href = "#" + idref;
+	}
     }
 }
 xhr1.open('GET', document.querySelector('link[rel="styleguide"]').href, true);