diff --git a/packages/language-select/.gitmodules b/packages/language-select/.gitmodules
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d423707d751b13b5f0d8462cdba7290860dac1e7 100644
--- a/packages/language-select/.gitmodules
+++ b/packages/language-select/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "vendor/common"]
+	path = vendor/common
+	url = git@gitlab.tugraz.at:VPU/WebComponents/Common.git
diff --git a/packages/language-select/package.json b/packages/language-select/package.json
index 7e309b9f00c7a5c0676fd6fbdddf805d4b249021..5bdcefbad7a6998210f4c255fa898b8eafc587c8 100644
--- a/packages/language-select/package.json
+++ b/packages/language-select/package.json
@@ -20,7 +20,8 @@
     "rollup-plugin-json": "^4.0.0",
     "rollup-plugin-replace": "^2.2.0",
     "rollup-plugin-multi-entry": "^2.1.0",
-    "i18next-scanner": "^2.10.2"
+    "i18next-scanner": "^2.10.2",
+    "vpu-common": "file:./vendor/common"
   },
   "dependencies": {
     "i18next": "^17.0.3",
diff --git a/packages/language-select/src/demo.js b/packages/language-select/src/demo.js
index dc7b964257e3b86c6f0a67b746d4083f701cd5c4..1586526bf9a265f51bbac69eb9893d2d339075c4 100644
--- a/packages/language-select/src/demo.js
+++ b/packages/language-select/src/demo.js
@@ -1,5 +1,6 @@
 import {html, LitElement} from 'lit-element';
 import './language-select.js';
+import utils from 'vpu-common/utils';
 
 class LanguageSelectDemo extends LitElement {
 
@@ -34,4 +35,4 @@ class LanguageSelectDemo extends LitElement {
     }
 }
 
-customElements.define('vpu-language-select-demo', LanguageSelectDemo);
+utils.defineCustomElement('vpu-language-select-demo', LanguageSelectDemo);
diff --git a/packages/language-select/src/language-select.js b/packages/language-select/src/language-select.js
index 79da8a0ca1959ccae31952765c0737b2c32daf78..cf3a5102f2aa8ad5fb726216f242779fe742bf75 100644
--- a/packages/language-select/src/language-select.js
+++ b/packages/language-select/src/language-select.js
@@ -1,5 +1,6 @@
 import {html, css, LitElement} from 'lit-element';
 import {i18n, dateTimeFormat, numberFormat} from './i18n.js';
+import utils from 'vpu-common/utils';
 
 /**
  * Emits a vpu-language-changed event where event.detail.lang is the new selected language
@@ -99,4 +100,4 @@ class LanguageSelect extends LitElement {
     }
 }
 
-customElements.define('vpu-language-select', LanguageSelect);
+utils.defineCustomElement('vpu-language-select', LanguageSelect);
diff --git a/packages/language-select/vendor/common b/packages/language-select/vendor/common
new file mode 160000
index 0000000000000000000000000000000000000000..675c681d7038cce98bbd03fa8483055dd8ef9406
--- /dev/null
+++ b/packages/language-select/vendor/common
@@ -0,0 +1 @@
+Subproject commit 675c681d7038cce98bbd03fa8483055dd8ef9406