diff --git a/util/html-element-props.js b/util/html-element-props.js
index <HASH>..<HASH> 100644
--- a/util/html-element-props.js
+++ b/util/html-element-props.js
@@ -41,5 +41,9 @@ HTMLElement.prototype.setProps = function (props = {}) {
   let propsObject = Object.assign({}, props)
   delete propsObject.tagName
   delete propsObject.constructorName
+  // Special cases for some properties that need to be set early so they are set when Setters get called later.
+  if (propsObject.hasOwnProperty('locked')) {
+    this.locked = propsObject.locked
+  }
   Object.assign(this, propsObject)
 }
\ No newline at end of file
Because Object.assign sets properties in an order and not all at once, make a special case for assigning the locked property so that it is set when the open property is applied thus the logic in the Setter for open property will properly account for locked