diff --git a/packages/auth/src/auth.js b/packages/auth/src/auth.js
index cce2cb7603fce273aa5f46d403ebe7f0052adefa..d82e8ff55d9d424c77ac897c6ad69fcf555afa00 100644
--- a/packages/auth/src/auth.js
+++ b/packages/auth/src/auth.js
@@ -1,11 +1,12 @@
 import {i18n} from './i18n.js';
 import {html, css} from 'lit-element';
 import {unsafeHTML} from 'lit-html/directives/unsafe-html.js';
+import {ScopedElementsMixin} from '@open-wc/scoped-elements';
 import JSONLD from 'vpu-common/jsonld';
 import * as commonUtils from 'vpu-common/utils';
 import * as commonStyles from 'vpu-common/styles';
 import * as events from 'vpu-common/events.js';
-import 'vpu-common/vpu-icon.js';
+import {Icon} from 'vpu-common';
 import VPULitElement from 'vpu-common/vpu-lit-element';
 import  {KeycloakWrapper} from './keycloak.js';
 
@@ -31,7 +32,7 @@ const LoginStatus = Object.freeze({
  *   window.VPUPerson: Person json object of the user (optional, enable by setting the `load-person` attribute,
  *                     which will dispatch a `vpu-auth-person-init` event when loaded)
  */
-export class Auth extends VPULitElement {
+export class Auth extends ScopedElementsMixin(VPULitElement) {
     constructor() {
         super();
         this.lang = 'de';
@@ -70,6 +71,12 @@ export class Auth extends VPULitElement {
         this._onKCChanged = this._onKCChanged.bind(this);
    }
 
+    static get scopedElements() {
+        return {
+            'vpu-icon': Icon,
+        };
+    }
+
     _onKCChanged(event) {
         const kc = event.detail;
         let newPerson = false;
diff --git a/packages/auth/vendor/common b/packages/auth/vendor/common
index 5aa64ec47e7b65d69327f4dec1102917fe33bd22..010b54fa455829d732152b6794c7a92a874249aa 160000
--- a/packages/auth/vendor/common
+++ b/packages/auth/vendor/common
@@ -1 +1 @@
-Subproject commit 5aa64ec47e7b65d69327f4dec1102917fe33bd22
+Subproject commit 010b54fa455829d732152b6794c7a92a874249aa