diff --git a/packages/language-select/src/language-select.js b/packages/language-select/src/language-select.js
index bce4a91fadc3cddf4aef2fa526054490a7429467..772163c5f2dca190594ce1537ef2000c3481dade 100644
--- a/packages/language-select/src/language-select.js
+++ b/packages/language-select/src/language-select.js
@@ -1,11 +1,12 @@
-import {html, css, LitElement} from 'lit-element';
+import {html, css} from 'lit-element';
 import {i18n} from './i18n.js';
 import * as commonStyles from '@dbp-toolkit/common/styles';
+import {AdapterLitElement} from "@dbp-toolkit/provider/src/adapter-lit-element";
 
 /**
  * Emits a dbp-language-changed event where event.detail.lang is the new selected language
  */
-export class LanguageSelect extends LitElement {
+export class LanguageSelect extends AdapterLitElement {
 
     constructor() {
         super();
@@ -61,12 +62,7 @@ export class LanguageSelect extends LitElement {
             this.dispatchEvent(event);
 
             // tell a dbp-provider to update the "lang" property
-            event = new CustomEvent("set-property", {
-                bubbles: true,
-                composed: true,
-                detail: {'name': 'lang', 'value': value}
-            });
-            this.dispatchEvent(event);
+            this.sendSetPropertyEvent('lang', value);
 
             // Unlike other cases we use the next language for the translations so that
             // users not knowing the current language can understand it.
diff --git a/packages/provider/src/adapter-lit-element.js b/packages/provider/src/adapter-lit-element.js
index e9dba576c7230855c20614294913fb3d0e21bd3c..c3287293d9847f2ec5e9d06a669ae6c710da9e28 100644
--- a/packages/provider/src/adapter-lit-element.js
+++ b/packages/provider/src/adapter-lit-element.js
@@ -129,6 +129,16 @@ export class AdapterLitElement extends LitElement {
         // console.trace();
     }
 
+    sendSetPropertyEvent(name, value) {
+        const event = new CustomEvent("set-property", {
+            bubbles: true,
+            composed: true,
+            detail: {'name': name, 'value': value}
+        });
+
+        return this.dispatchEvent(event);
+    }
+
     // update(changedProperties) {
     //     changedProperties.forEach((oldValue, propName) => {
     //         switch(propName) {