diff --git a/src/html/behaviors/HasAttribute.js b/src/html/behaviors/HasAttribute.js
index <HASH>..<HASH> 100644
--- a/src/html/behaviors/HasAttribute.js
+++ b/src/html/behaviors/HasAttribute.js
@@ -44,12 +44,17 @@ class HasAttribute {
     }
 
     changedCallback( oldVal, newVal ) {
-        const newBehaviors = newVal.split( /\s+/ )
-        const previousBehaviors = Array.from(this.ownerElement.behaviors.keys())
+        const newBehaviors = this.getBehaviorNames( newVal )
+        const previousBehaviors = Array.from( this.ownerElement.behaviors.keys() )
         const { removed, added } = this.getDiff( previousBehaviors, newBehaviors )
         this.handleDiff( removed, added )
     }
 
+    getBehaviorNames( string ) {
+        if ( string.trim() == '' ) return []
+        else return string.split( /\s+/ )
+    }
+
     getDiff( previousBehaviors, newBehaviors ) {
         const diff = {
             removed: [],
prevent empty strings from triggering the behavior-added loop