diff --git a/packages/provider/src/adapter-lit-element.js b/packages/provider/src/adapter-lit-element.js
index 206b8a973e56abed060dbeb977fc8b8a52b3929a..b245cb27adca7579008f1908845b294fc05915c6 100644
--- a/packages/provider/src/adapter-lit-element.js
+++ b/packages/provider/src/adapter-lit-element.js
@@ -286,13 +286,14 @@ export class AdapterLitElement extends LitElement {
                 }
                 break;
             default:
-                // The function should not be called if newValue is empty but name and oldValue are set
+                // The function should not be called if oldValue is an object, oldValue and newValue are empty
+                // or if newValue is empty but name and oldValue are set
                 // This should prevent 'Uncaught SyntaxError: JSON.parse unexpected end of data at line 1 column 1 of the JSON data'
-                if (newValue || !oldValue || !name) {
-                    super.attributeChangedCallback(name, oldValue, newValue);
-                // } else {
-                    //     console.debug("attributeChangedCallback ignored", name, oldValue, newValue);
+                if ((typeof oldValue === 'object' && !oldValue && !newValue) || (!newValue && oldValue && name)) {
+                    // console.debug("attributeChangedCallback ignored", name, oldValue, newValue);
+                    break;
                 }
+                super.attributeChangedCallback(name, oldValue, newValue);
         }
 
         // console.debug("this.lang", this.tagName, name, this.lang);