diff --git a/src/avatar-selector.js b/src/avatar-selector.js
index 296b94e4dd1608abd97e4a6f6e7f4f1270a80301..94012265fdb2c38c2425d968f74b96a5f1089278 100644
--- a/src/avatar-selector.js
+++ b/src/avatar-selector.js
@@ -25,16 +25,19 @@ addLocaleData([...en]);
 
 registerTelemetry();
 
-const hash = new URLSearchParams(location.hash.replace(/^#/, "?"));
+function getHashArg(arg) {
+  return new URLSearchParams(location.hash.replace(/^#/, "?")).get(arg);
+}
+
 window.APP = new App();
-window.APP.quality = hash.get("quality") || AFRAME.utils.device.isMobile() ? "low" : "high";
+window.APP.quality = getHashArg("quality") || AFRAME.utils.device.isMobile() ? "low" : "high";
 
 function postAvatarIdToParent(newAvatarId) {
   window.parent.postMessage({ avatarId: newAvatarId }, location.origin);
 }
 
 function mountUI() {
-  const avatarId = hash.get("avatar_id");
+  const avatarId = getHashArg("avatar_id");
   ReactDOM.render(
     <IntlProvider locale={lang} messages={messages}>
       <AvatarSelector {...{ avatars, avatarId, onChange: postAvatarIdToParent }} />