diff --git a/changelog.d/piss-fix.skip b/changelog.d/piss-fix.skip
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/components/button_unstyled.style.js b/src/components/button_unstyled.style.js
index 435f9cc67b358a7dce44137b8bcff0f3ee259dc4..65b5c57bf129edc22795f16caa539cf18beeff4b 100644
--- a/src/components/button_unstyled.style.js
+++ b/src/components/button_unstyled.style.js
@@ -16,7 +16,8 @@ export default {
     {
       directives: {
         background: '#ffffff',
-        opacity: 0
+        opacity: 0,
+        shadow: []
       }
     },
     {
diff --git a/src/components/panel_header.style.js b/src/components/panel_header.style.js
index 010e42cd2554dd38d3d828fa3448f1d95a6e8641..32464bc507ec6bdd7fae7e547cf22836c72689c5 100644
--- a/src/components/panel_header.style.js
+++ b/src/components/panel_header.style.js
@@ -16,7 +16,8 @@ export default {
       component: 'PanelHeader',
       directives: {
         backgroundNoCssColor: 'yes',
-        background: '--fg'
+        background: '--fg',
+        shadow: []
       }
     }
   ]
diff --git a/src/services/theme_data/iss_deserializer.js b/src/services/theme_data/iss_deserializer.js
index 5d71f35fa60989e94fb41bc209fffbb039299969..909e9411a6d966fabac57d4854238823e8b2f363 100644
--- a/src/services/theme_data/iss_deserializer.js
+++ b/src/services/theme_data/iss_deserializer.js
@@ -138,7 +138,11 @@ export const deserialize = (input) => {
         const [property, value] = d.split(':')
         let realValue = value.trim()
         if (property === 'shadow') {
-          realValue = value.split(',').map(v => parseShadow(v.trim()))
+          if (realValue === 'none') {
+            realValue = []
+          } else {
+            realValue = value.split(',').map(v => parseShadow(v.trim()))
+          }
         } if (!Number.isNaN(Number(value))) {
           realValue = Number(value)
         }
diff --git a/src/services/theme_data/iss_serializer.js b/src/services/theme_data/iss_serializer.js
index 959852b7f7514e13684488b5f1997bbaad0c8bb1..8b7cf5d88f120976cfb4d870ebab84f01fa64d21 100644
--- a/src/services/theme_data/iss_serializer.js
+++ b/src/services/theme_data/iss_serializer.js
@@ -32,7 +32,11 @@ export const serialize = (ruleset) => {
       } else {
         switch (directive) {
           case 'shadow':
-            return `  ${directive}: ${value.map(serializeShadow).join(', ')}`
+            if (value.length > 0) {
+              return `  ${directive}: ${value.map(serializeShadow).join(', ')}`
+            } else {
+              return `  ${directive}: none`
+            }
           default:
             return `  ${directive}: ${value}`
         }
diff --git a/test/unit/specs/services/theme_data/iss_deserializer.spec.js b/test/unit/specs/services/theme_data/iss_deserializer.spec.js
index 01f8dacf17e8f4647172ea02958d896e2ee88971..6eb25dfe91396fa7eb61331381082742e4d30a27 100644
--- a/test/unit/specs/services/theme_data/iss_deserializer.spec.js
+++ b/test/unit/specs/services/theme_data/iss_deserializer.spec.js
@@ -19,7 +19,7 @@ describe('ISS (de)serialization', () => {
   /*
   // Debug snippet
   const onlyComponent = componentsContext('./components/panel_header.style.js').default
-  it(`(De)serialization of component ${onlyComponent.name} works`, () => {
+  it.only(`(De)serialization of component ${onlyComponent.name} works`, () => {
     const normalized = onlyComponent.defaultRules.map(x => ({ component: onlyComponent.name, ...x }))
     console.log('BEGIN INPUT ================')
     console.log(normalized)
@@ -36,5 +36,5 @@ describe('ISS (de)serialization', () => {
     // for some reason comparing objects directly fails the assert
     expect(JSON.stringify(deserialized, null, 2)).to.equal(JSON.stringify(normalized, null, 2))
   })
-  */
+  /* */
 })